在 Microsoft? SQL Server? 中,每個(gè)列、局部變量、表達(dá)式和參數(shù)都有一個(gè)相關(guān)的數(shù)據(jù)類(lèi)型,這是指定對(duì)象可持有的數(shù)據(jù)類(lèi)型(整型、字符、money 等等)的特性。SQL Server 提供系統(tǒng)數(shù)據(jù)類(lèi)型集,定義了可與 SQL Server 一起使用的所有數(shù)據(jù)類(lèi)型。下面列出系統(tǒng)提供的數(shù)據(jù)類(lèi)型集。
可以定義用戶(hù)定義的數(shù)據(jù)類(lèi)型,其是系統(tǒng)提供的數(shù)據(jù)類(lèi)型的別名。有關(guān)用戶(hù)定義的數(shù)據(jù)類(lèi)型的更多信息,請(qǐng)參見(jiàn) sp_addtype 和創(chuàng)建用戶(hù)定義的數(shù)據(jù)類(lèi)型。
當(dāng)兩個(gè)具有不同數(shù)據(jù)類(lèi)型、排序規(guī)則、精度、小數(shù)位數(shù)或長(zhǎng)度的表達(dá)式通過(guò)運(yùn)算符進(jìn)行組合時(shí):
通過(guò)將數(shù)據(jù)類(lèi)型的優(yōu)先順序規(guī)則應(yīng)用到輸入表達(dá)式的數(shù)據(jù)類(lèi)型來(lái)確定所得值的數(shù)據(jù)類(lèi)型。有關(guān)更多信息,請(qǐng)參見(jiàn)數(shù)據(jù)類(lèi)型的優(yōu)先順序。
如果結(jié)果數(shù)據(jù)類(lèi)型為 char、varchar、text、nchar、nvarchar 或 ntext,則結(jié)果值的排序規(guī)則由排序規(guī)則的優(yōu)先順序規(guī)則決定。有關(guān)更多信息,請(qǐng)參見(jiàn)排序規(guī)則的優(yōu)先順序。
結(jié)果的精度、小數(shù)位數(shù)及長(zhǎng)度取決于輸入表達(dá)式的精度、小數(shù)位數(shù)及長(zhǎng)度。有關(guān)更多信息,請(qǐng)參見(jiàn)精度、小數(shù)位數(shù)和長(zhǎng)度。
SQL Server 為 SQL-92 兼容性提供了數(shù)據(jù)類(lèi)型同義詞。有關(guān)更多信息,請(qǐng)參見(jiàn)數(shù)據(jù)類(lèi)型同義詞。
精確數(shù)字
整數(shù)
bigint 從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數(shù)據(jù)(所有數(shù)字)。
int 從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數(shù)據(jù)(所有數(shù)字)。
smallint 從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整數(shù)數(shù)據(jù)。
tinyint 從 0 到 255 的整數(shù)數(shù)據(jù)。
bit
bit 1 或 0 的整數(shù)數(shù)據(jù)。
decimal 和 numeric
decimal 從 -10^38 1 到 10^38 –1 的固定精度和小數(shù)位的數(shù)字?jǐn)?shù)據(jù)。
numeric 功能上等同于 decimal。
money 和 smallmoney
money 貨幣數(shù)據(jù)值介于 -2^63 (-922,337,203,685,477.5808) 與 2^63 -1 ( 922,337,203,685,477.5807) 之間,精確到貨幣單位的千分之十。
smallmoney 貨幣數(shù)據(jù)值介于 -214,748.3648 與 214,748.3647 之間,精確到貨幣單位的千分之十。
近似數(shù)字
float 從 -1.79E 308 到 1.79E 308 的浮點(diǎn)精度數(shù)字。
real 從 -3.40E 38 到 3.40E 38 的浮點(diǎn)精度數(shù)字。
datetime 和 smalldatetime
datetime 從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時(shí)間數(shù)據(jù),精確到百分之三秒(或 3.33 毫秒)。
smalldatetime 從 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和時(shí)間數(shù)據(jù),精確到分鐘。
字符串
char 固定長(zhǎng)度的非 Unicode 字符數(shù)據(jù),最大長(zhǎng)度為 8,000 個(gè)字符。
varchar 可變長(zhǎng)度的非 Unicode 數(shù)據(jù),最長(zhǎng)為 8,000 個(gè)字符。
text 可變長(zhǎng)度的非 Unicode 數(shù)據(jù),最大長(zhǎng)度為 2^31 - 1 (2,147,483,647) 個(gè)字符。
Unicode 字符串
nchar 固定長(zhǎng)度的 Unicode 數(shù)據(jù),最大長(zhǎng)度為 4,000 個(gè)字符。
nvarchar 可變長(zhǎng)度 Unicode 數(shù)據(jù),其最大長(zhǎng)度為 4,000 字符。sysname 是系統(tǒng)提供用戶(hù)定義的數(shù)據(jù)類(lèi)型,在功能上等同于 nvarchar(128),用于引用數(shù)據(jù)庫(kù)對(duì)象名。
ntext 可變長(zhǎng)度 Unicode 數(shù)據(jù),其最大長(zhǎng)度為 2^30 - 1 (1,073,741,823) 個(gè)字符。
二進(jìn)制字符串
binary 固定長(zhǎng)度的二進(jìn)制數(shù)據(jù),其最大長(zhǎng)度為 8,000 個(gè)字節(jié)。
varbinary 可變長(zhǎng)度的二進(jìn)制數(shù)據(jù),其最大長(zhǎng)度為 8,000 個(gè)字節(jié)。
image 可變長(zhǎng)度的二進(jìn)制數(shù)據(jù),其最大長(zhǎng)度為 2^31 - 1 (2,147,483,647) 個(gè)字節(jié)。
其它數(shù)據(jù)類(lèi)型
cursor 游標(biāo)的引用。
sql_variant
一種存儲(chǔ) SQL Server 支持的各種數(shù)據(jù)類(lèi)型(text、ntext、timestamp 和 sql_variant 除外)值的數(shù)據(jù)類(lèi)型。
table
一種特殊的數(shù)據(jù)類(lèi)型,存儲(chǔ)供以后處理的結(jié)果集。
timestamp
數(shù)據(jù)庫(kù)范圍的唯一數(shù)字,每次更新行時(shí)也進(jìn)行更新。
uniqueidentifier
全局唯一標(biāo)識(shí)符 (GUID)。
聯(lián)系客服