MSSQL數(shù)據(jù)類型及長度限制詳細(xì)說明
更新時(shí)間:2008年08月15日 20:08:29 作者:
在 Microsoft® SQL Server™ 中,每個(gè)列、局部變量、表達(dá)式和參數(shù)都有一個(gè)相關(guān)的數(shù)據(jù)類型,這是指定對(duì)象可持有的數(shù)據(jù)類型(整型、字符、money 等等)的特性。
SQL Server 提供系統(tǒng)數(shù)據(jù)類型集,定義了可與 SQL Server 一起使用的所有數(shù)據(jù)類型。下面列出系統(tǒng)提供的數(shù)據(jù)類型集。
可以定義用戶定義的數(shù)據(jù)類型,其是系統(tǒng)提供的數(shù)據(jù)類型的別名。有關(guān)用戶定義的數(shù)據(jù)類型的更多信息,請(qǐng)參見 sp_addtype 和創(chuàng)建用戶定義的數(shù)據(jù)類型。
當(dāng)兩個(gè)具有不同數(shù)據(jù)類型、排序規(guī)則、精度、小數(shù)位數(shù)或長度的表達(dá)式通過運(yùn)算符進(jìn)行組合時(shí):
通過將數(shù)據(jù)類型的優(yōu)先順序規(guī)則應(yīng)用到輸入表達(dá)式的數(shù)據(jù)類型來確定所得值的數(shù)據(jù)類型。有關(guān)更多信息,請(qǐng)參見數(shù)據(jù)類型的優(yōu)先順序。
如果結(jié)果數(shù)據(jù)類型為 char、varchar、text、nchar、nvarchar 或 ntext,則結(jié)果值的排序規(guī)則由排序規(guī)則的優(yōu)先順序規(guī)則決定。有關(guān)更多信息,請(qǐng)參見排序規(guī)則的優(yōu)先順序。
結(jié)果的精度、小數(shù)位數(shù)及長度取決于輸入表達(dá)式的精度、小數(shù)位數(shù)及長度。有關(guān)更多信息,請(qǐng)參見精度、小數(shù)位數(shù)和長度。
SQL Server 為 SQL-92 兼容性提供了數(shù)據(jù)類型同義詞。有關(guān)更多信息,請(qǐng)參見數(shù)據(jù)類型同義詞。
精確數(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 固定長度的非 Unicode 字符數(shù)據(jù),最大長度為 8,000 個(gè)字符。
varchar 可變長度的非 Unicode 數(shù)據(jù),最長為 8,000 個(gè)字符。
text 可變長度的非 Unicode 數(shù)據(jù),最大長度為 2^31 - 1 (2,147,483,647) 個(gè)字符。
Unicode 字符串
nchar 固定長度的 Unicode 數(shù)據(jù),最大長度為 4,000 個(gè)字符。
nvarchar 可變長度 Unicode 數(shù)據(jù),其最大長度為 4,000 字符。sysname 是系統(tǒng)提供用戶定義的數(shù)據(jù)類型,在功能上等同于 nvarchar(128),用于引用數(shù)據(jù)庫對(duì)象名。
ntext 可變長度 Unicode 數(shù)據(jù),其最大長度為 2^30 - 1 (1,073,741,823) 個(gè)字符。
二進(jìn)制字符串
binary 固定長度的二進(jìn)制數(shù)據(jù),其最大長度為 8,000 個(gè)字節(jié)。
varbinary 可變長度的二進(jìn)制數(shù)據(jù),其最大長度為 8,000 個(gè)字節(jié)。
image 可變長度的二進(jìn)制數(shù)據(jù),其最大長度為 2^31 - 1 (2,147,483,647) 個(gè)字節(jié)。
其它數(shù)據(jù)類型
cursor 游標(biāo)的引用。
sql_variant
一種存儲(chǔ) SQL Server 支持的各種數(shù)據(jù)類型(text、ntext、timestamp 和 sql_variant 除外)值的數(shù)據(jù)類型。
table
一種特殊的數(shù)據(jù)類型,存儲(chǔ)供以后處理的結(jié)果集。
timestamp
數(shù)據(jù)庫范圍的唯一數(shù)字,每次更新行時(shí)也進(jìn)行更新。
uniqueidentifier
全局唯一標(biāo)識(shí)符 (GUID)。
可以定義用戶定義的數(shù)據(jù)類型,其是系統(tǒng)提供的數(shù)據(jù)類型的別名。有關(guān)用戶定義的數(shù)據(jù)類型的更多信息,請(qǐng)參見 sp_addtype 和創(chuàng)建用戶定義的數(shù)據(jù)類型。
當(dāng)兩個(gè)具有不同數(shù)據(jù)類型、排序規(guī)則、精度、小數(shù)位數(shù)或長度的表達(dá)式通過運(yùn)算符進(jìn)行組合時(shí):
通過將數(shù)據(jù)類型的優(yōu)先順序規(guī)則應(yīng)用到輸入表達(dá)式的數(shù)據(jù)類型來確定所得值的數(shù)據(jù)類型。有關(guān)更多信息,請(qǐng)參見數(shù)據(jù)類型的優(yōu)先順序。
如果結(jié)果數(shù)據(jù)類型為 char、varchar、text、nchar、nvarchar 或 ntext,則結(jié)果值的排序規(guī)則由排序規(guī)則的優(yōu)先順序規(guī)則決定。有關(guān)更多信息,請(qǐng)參見排序規(guī)則的優(yōu)先順序。
結(jié)果的精度、小數(shù)位數(shù)及長度取決于輸入表達(dá)式的精度、小數(shù)位數(shù)及長度。有關(guān)更多信息,請(qǐng)參見精度、小數(shù)位數(shù)和長度。
SQL Server 為 SQL-92 兼容性提供了數(shù)據(jù)類型同義詞。有關(guān)更多信息,請(qǐng)參見數(shù)據(jù)類型同義詞。
精確數(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 固定長度的非 Unicode 字符數(shù)據(jù),最大長度為 8,000 個(gè)字符。
varchar 可變長度的非 Unicode 數(shù)據(jù),最長為 8,000 個(gè)字符。
text 可變長度的非 Unicode 數(shù)據(jù),最大長度為 2^31 - 1 (2,147,483,647) 個(gè)字符。
Unicode 字符串
nchar 固定長度的 Unicode 數(shù)據(jù),最大長度為 4,000 個(gè)字符。
nvarchar 可變長度 Unicode 數(shù)據(jù),其最大長度為 4,000 字符。sysname 是系統(tǒng)提供用戶定義的數(shù)據(jù)類型,在功能上等同于 nvarchar(128),用于引用數(shù)據(jù)庫對(duì)象名。
ntext 可變長度 Unicode 數(shù)據(jù),其最大長度為 2^30 - 1 (1,073,741,823) 個(gè)字符。
二進(jìn)制字符串
binary 固定長度的二進(jìn)制數(shù)據(jù),其最大長度為 8,000 個(gè)字節(jié)。
varbinary 可變長度的二進(jìn)制數(shù)據(jù),其最大長度為 8,000 個(gè)字節(jié)。
image 可變長度的二進(jìn)制數(shù)據(jù),其最大長度為 2^31 - 1 (2,147,483,647) 個(gè)字節(jié)。
其它數(shù)據(jù)類型
cursor 游標(biāo)的引用。
sql_variant
一種存儲(chǔ) SQL Server 支持的各種數(shù)據(jù)類型(text、ntext、timestamp 和 sql_variant 除外)值的數(shù)據(jù)類型。
table
一種特殊的數(shù)據(jù)類型,存儲(chǔ)供以后處理的結(jié)果集。
timestamp
數(shù)據(jù)庫范圍的唯一數(shù)字,每次更新行時(shí)也進(jìn)行更新。
uniqueidentifier
全局唯一標(biāo)識(shí)符 (GUID)。
相關(guān)文章
Sql?Prompt?10下載與安裝破解圖文教程(最新推薦)
sql?prompt?10是一款擁有智能提示功能的SQL?Server和VS插件,,特別適合開發(fā)者不大熟悉腳本時(shí)候使用,這篇文章主要介紹了Sql?Prompt?10下載與安裝破解圖文教程,需要的朋友可以參考下2023-03-03windows11安裝sqlserver?2016數(shù)據(jù)庫報(bào)錯(cuò)等待數(shù)據(jù)庫引擎恢復(fù)句柄失敗解決辦法
最近安裝SQL?Server遇到這個(gè)問題,試過網(wǎng)上幾乎所有辦法,都安裝不上,查了很久才解決,下面這篇文章主要給大家介紹了關(guān)于windows11安裝SQL?server數(shù)據(jù)庫報(bào)錯(cuò)等待數(shù)據(jù)庫引擎恢復(fù)句柄失敗的解決辦法,需要的朋友可以參考下2023-06-06在SQL Server中使用命令調(diào)用SSIS包的具體方法
在SQL Server中可以使用dtexec命令運(yùn)行SSIS包(2005以上版本),當(dāng)然也可以通過系統(tǒng)過程:xp_cmdshell調(diào)用dtexec運(yùn)行SSIS包2013-09-09深入SQL Server中定長char(n)與變長varchar(n)的區(qū)別詳解
本篇文章是對(duì)SQL Server中定長char(n)與變長varchar(n)的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06order by newid() 各種數(shù)據(jù)庫隨機(jī)查詢的方法
order by newid() 各種數(shù)據(jù)庫隨機(jī)查詢的方法,需要的朋友可以參考一下2013-04-04SQL?Server數(shù)據(jù)庫分離和附加數(shù)據(jù)庫的操作步驟
數(shù)據(jù)庫的附加是數(shù)據(jù)庫在數(shù)據(jù)庫文件中添加到數(shù)據(jù)庫當(dāng)中的操作,下面這篇文章主要給大家介紹了關(guān)于SQL?Server數(shù)據(jù)庫分離和附加數(shù)據(jù)庫的操作步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10