
數據庫中的數據類型詳細
?、 整數數據類型
整數數據類型是最常?的數據類型之?。
1、INT (INTEGER)
INT (或INTEGER)數據類型存儲從-2的31次? (-2 ,147 ,483 ,648) 到2的31次?-1 (2 ,147 ,483,647) 之間的所有正負整
數。每個INT 類型的數據按4 個字節存儲,其中1 位表?整數值的正負號,其它31 位表?整數值的長度和??。
2、SMALLINT
SMALLINT 數據類型存儲從-2的15次?( -32, 768) 到2的15次?-1( 32 ,767 )之間的所有正負整數。每個SMALLINT 類型的數據占
?2 個字節的存儲空間,其中1 位表?整數值的正負號,其它15 位表?整數值的長度和??。
3、TINYINT
TINYINT數據類型存儲從0 到255 之間的所有正整數。每個TINYINT類型的數據占?1 個字節的存儲空間。
4、BIGINT
BIGINT 數據類型存儲從-2^63 (-9 ,223, 372, 036, 854, 775, 807) 到2^63-1( 9, 223, 372, 036 ,854 ,775, 807) 之間
的所有正負整數。每個BIGINT 類型的數據占?8個字節的存儲空間。
?、 浮點數據類型
浮點數據類型?于存儲?進制?數。浮點數值的數據在SQL Server 中采?上舍?(Round up 或稱為只?不舍)?式進?存儲。所謂上舍?
是指,當(且僅當)要舍?的數是?個?零數時,對其保留數字部分的最低有效位上的數值加1 ,并進?必要的進位。若?個數是上舍?
數,其絕對值不會減少。如:對3.979 分別進?2 位和12位舍?,結果為3.15 和3.0。
1、REAL 數據類型
REAL數據類型可精確到第7 位?數,其范圍為從-3.40E -38 到3.40E +38。 每個REAL類型的數據占?4 個字節的存儲空間。
2、FLOAT
FLOAT數據類型可精確到第15 位?數,其范圍為從-1.79E -308 到1.79E +308。 每個FLOAT 類型的數據占?8 個字節的存儲空間。 FLOAT
數據類型可寫為FLOAT[ n ]的形式。n 指定FLOAT 數據的精度。n 為1到15 之間的整數值。當n 取1 到7 時,實際上是定義了?個REAL 類型
的數據,系統?4 個字節存儲它;當n 取8 到15 時,系統認為其是FLOAT 類型,?8 個字節存儲它。
3、DECIMAL
DECIMAL數據類型可以提供?數所需要的實際存儲空間,但也有?定的限制,您可以?2 到17 個字節來存儲從-10的38次?-1 到10的38次
?-1 之間的數值。可將其寫為DECIMAL[ p [s] ]的形式,p 和s 確定了精確的?例和數位。其中p 表?可供存儲的值的總位數(不包括?數
點),缺省值為18; s 表??數點后的位數,缺省值為0。 例如:decimal (15 5),表?共有15 位數,其中整數10 位,?數5。 位表4-3
列出了各精確度所需的字節數之間的關系。
4、NUMERIC
NUMERIC數據類型與DECIMAL數據類型完全相同。
注意:SQL Server 為了和前端的開發?具配合,其所?持的數據精度默認最?為28位。
三、 ?進制數據類型
1、BINARY
BINARY 數據類型?于存儲?進制數據。其定義形式為BINARY( n), n 表?數據的長度,取值為1 到8000 。在使?時必須指定BINARY
類型數據的??,?少應為1 個字節。BINARY 類型數據占?n+4 個字節的存儲空間。在輸?數據時必須在數據前加上字符“0X” 作為?進制
標識,如:要輸?“abc ”則應輸?“0xabc ”。若輸?的數據過長將會截掉其超出部分。若輸?的數據位數為奇數,則會在起始符號“0X ”后添加
?個0,如上述的“0xabc ”會被系統?動變為“0x0abc”。
2、VARBINARY
VARBINARY數據類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000, 若輸?的數據過長,將會截掉
其超出部分。不同的是VARBINARY數據類型具有變動長度的特性,因為VARBINARY數據類型的存儲長度為實際數值長度+4個字節。當
BINARY數據類型允許NULL 值時,將被視為VARBINARY數據類型。
?般情況下,由于BINARY 數據類型長度固定,因此它?VARBINARY 類型的處理速度快。
四、 邏輯數據類型
BIT: BIT數據類型占?1 個字節的存儲空間,其值為0 或1 。如果輸?0 或1 以外的值,將被視為1。 BIT 類型不能定義為NULL 值(所謂
NULL 值是指空值或?意義的值)。
五、 字符數據類型
字符數據類型是使?最多的數據類型。它可以?來存儲各種字母、數字符號、特殊符號。?般情況下,使?字符類型數據時須在其前后加上
單引號’或雙引號” 。
1 CHAR
CHAR 數據類型的定義形式為CHAR[ (n) ]。 以CHAR 類型存儲的每個字符和符號占?個字節的存儲空間。n 表?所有字符所占的存儲空
間,n 的取值為1 到8000, 即可容納8000 個ANSI 字符。若不指定n 值,則系統默認值為1。 若輸?數據的字符數?于n,則系統?動在其
后添加空格來填滿設定好的空間。若輸?的數據過長,將會截掉其超出部分。
2、NCHAR
NCHAR數據類型的定義形式為NCHAR[ (n) ]。 它與CHAR 類型相似。不同的是NCHAR數據類型n 的取值為1 到4000。 因為NCHAR 類
型采?UNICODE 標準字符集(CharacterSet)。 UNICODE 標準規定每個字符占?兩個字節的存儲空間,所以它??UNICODE 標準的數
據類型多占??倍的存儲空間。使?UNICODE 標準的好處是因其使?兩個字節做存儲單位,其?個存儲單位的容納量就??增加了,可以
將全世界的語??字都囊括在內,在?個數據列中就可以同時出現中?、英?、法?、德?等,?不會出現編碼沖突。
3、VARCHAR
VARCHAR數據類型的定義形式為VARCHAR [ (n) ]。 它與CHAR 類型相似,n 的取值也為1 到8000, 若輸?的數據過長,將會截掉其
超出部分。不同的是,VARCHAR數據類型具有變動長度的特性,因為VARCHAR數據類型的存儲長度為實際數值長度,若輸?數據的字符
數?于n ,則系統不會在其后添加空格來填滿設定好的空間。
?般情況下,由于CHAR 數據類型長度固定,因此它?VARCHAR 類型的處理速度快。
4、NVARCHAR
NVARCHAR數據類型的定義形式為NVARCHAR[ (n) ]。 它與VARCHAR 類型相似。不同的是,NVARCHAR數據類型采?UNICODE
標準字符集(Character Set), n 的取值為1 到4000。
六、?本和圖形數據類型
這類數據類型?于存儲?量的字符或?進制數據。
1、TEXT
TEXT數據類型?于存儲?量?本數據,其容量理論上為1 到2的31次?-1 (2, 147, 483, 647)個字節,在實際應?時需要視硬盤的存
儲空間?定。
SQL Server 2000 以前的版本中,數據庫中?個TEXT 對象存儲的實際上是?個指針,它指向?個個以8KB (8192 個字節)為單位的數據
頁(Data Page)。 這些數據頁是動態增加并被邏輯鏈接起來的。在SQL Server 2000 中,則將TEXT 和IMAGE 類型的數據直接存放到表的
數據?中,?不是存放到不同的數據頁中。 這就減少了?于存儲TEXT 和IMA- GE 類型的空間,并相應減少了磁盤處理這類數據的I/O 數
量。
2 NTEXT
NTEXT數據類型與TEXT.類型相似不同的,是NTEXT 類型采?UNICODE 標準字符集(Character Set), 因此其理論容量為230-1(1, 073, 741,
823)個字節。
3 IMAGE
IMAGE數據類型?于存儲?量的?進制數據Binary Data。 其理論容量為2的31次?-1(2,147,483,647)個字節。其存儲數據的模式與TEXT 數
據類型相同。通常?來存儲圖形等OLE Object Linking and Embedding,對象連接和嵌?)對象。在輸?數據時同BINARY數據類型?樣,
必須在數據前加上字符“0X”作為?進制標識
七、?期和時間數據類型
1 DATETIME
DATETIME 數據類型?于存儲?期和時間的結合體。它可以存儲從公元1753 年1 ?1 ?零時起到公元9999 年12 ?31 ?23 時59 分59 秒之
間的所有?期和時間,其精確度可達三百分之?秒,即3.33 毫秒。DATETIME 數據類型所占?的存儲空間為8 個字節。其中前4 個字節?于
存儲1900 年1 ?1 ?以前或以后的天數,數值分正負,正數表?在此?期之后的?期,負數表?在此?期之前的?期。后4 個字節?于存儲
從此?零時起所指定的時間經過的毫秒數。如果在輸?數據時省略了時間部分,則系統將12:00:00:000AM作為時間缺省值:如果省略了?
期部分,則系統將1900 年1 ?1 ?作為?期缺省值。
2 SMALLDATETIME
SMALLDATETIME 數據類型與DATETIME 數據類型相似,但其?期時間范圍較?,為從1900 年1 ?1 ?到2079 年6 ?6:?精度較低,只
能精確到分鐘,其分鐘個位上為根據秒數四舍五?的值,即以30 秒為界四舍五?。如:DATETIME 時間為14:38:30.283時SMALLDATETIME
認為是14:39:00 SMALLDATETIME 數據類型使?4 個字節存儲數據。其中前2 個字節存儲從基礎?期1900 年1 ?1 ?以來的天數,后兩個
字節存儲此?零時起所指定的時間經過的分鐘數。
?、 貨幣數據類型
貨幣數據類型?于存儲貨幣值。在使?貨幣數據類型時,應在數據前加上貨幣符號,系統才能辨識其為哪國的貨幣,如果不加貨幣符號,則
默認為“¥”。各貨幣符號如圖4-2所?。
1 MONEY
MONEY 數據類型的數據是?個有4 位?數的DECIMAL 值,其取值從-2的63次?(-922,337,203,685,477.5808到2的63次?-
1(+922,337,203,685,477.5807),數據精度為萬分之?貨幣單位。MONEY 數據類型使?8個字節存儲。
2 SMALLMONEY
SMALLMONEY數據類型類似于MONEY 類型,但其存儲的貨幣值范圍?MONEY數據類型?,其取值從-214,748.3648到+214,748.3647,存儲
空間為4 個字節。
九、 特定數據類型
SQL Server 中包含了?些?于數據存儲的特殊數據類型。
1 TIMESTAMP
TIMESTAMP數據類型提供數據庫范圍內的惟?值此類型相當于BINARY8或VARBINARY(8),但當它所定義的列在更新或插?數據?
時,此列的值會被?動更新,?個計數值將?動地添加到此TIMESTAMP數據列中。每個數據庫表中只能有?個TIMESTAMP數據列。如果
建??個名為“TIMESTAMP”的列,則該列的類型將被?動設為TIMESTAMP數據類型。
2 UNIQUEIDENTIFIER
UNIQUEIDENTIFIER 數據類型存儲?個16 位的?進制數字。此數字稱為(GUIDGlobally Unique Identifier ,即全球惟?鑒別號)。此數字
由SQLServer 的NEWID函數產?的全球惟?的編碼,在全球各地的計算機經由此函數產?的數字不會相同。
?、 ?戶?定義數據類型
SYSNAME SYSNAME 數據類型是系統提供給?戶的,便于?戶?定義數據類型。它被定義為NVARCHAR(128),即它可存儲128個
UNICODE字符或256個?般字符。
以表格形式說明:
字段類型 描述
bit 0或1的整型數字
int 從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數字
smallint 從-2^15(-32,768)到2^15(32,767)的整型數字
tinyint 從0到255的整型數字
decimal 從-10^38到10^38-1的定精度與有效位數的數字
numeric decimal的同義詞
money 從-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的貨幣數據,最?貨幣單位千分之?
smallmoney 從-214,748.3648到214,748.3647的貨幣數據,最?貨幣單位千分之?
float 從-1.79E+308到1.79E+308可變精度的數字
real 從-3.04E+38到3.04E+38可變精度的數字
datetime 從1753年1?1?到9999年12?31的?期和時間數據,最?時間單位為百分之三秒或3.33毫秒
smalldatetime 從1900年1?1?到2079年6?6?的?期和時間數據,最?時間單位為分鐘
timestamp 時間戳,?個數據庫寬度的唯?數字
uniqueidentifier 全球唯?標識符GUID
char 定長?Unicode的字符型數據,最?長度為8000
varchar 變長?Unicode的字符型數據,最?長度為8000
text 變長?Unicode的字符型數據,最?長度為2^31-1(2G)
nchar 定長Unicode的字符型數據,最?長度為8000
nvarchar 變長Unicode的字符型數據,最?長度為8000
ntext 變長Unicode的字符型數據,最?長度為2^31-1(2G)
binary 定長?進制數據,最?長度為8000
varbinary 變長?進制數據,最?長度為8000
image 變長?進制數據,最?長度為2^31-1(2G)
以上是個??站歡迎來踩

本文發布于:2023-11-24 11:52:11,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/170079793134441.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:數據庫中的數據類型詳細.doc
本文 PDF 下載地址:數據庫中的數據類型詳細.pdf
| 留言與評論(共有 0 條評論) |