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