數(shù)據(jù)類型

2018-08-12 22:09 更新

SQL 數(shù)據(jù)類型

SQL 數(shù)據(jù)類型是一種屬性,它指定了任何 SQL 對(duì)象中數(shù)據(jù)的類型。在 SQL 中,任意一個(gè)列、變量或者表達(dá)式都有其數(shù)據(jù)類型。

創(chuàng)建表的時(shí)候,你會(huì)用到這些數(shù)據(jù)類型。你應(yīng)該根據(jù)需要為表中的每一個(gè)列選擇合適的數(shù)據(jù)類型。

SQL Server 提供了六種數(shù)據(jù)類型供你使用:

精確數(shù)值數(shù)據(jù)類型

數(shù)據(jù)類型 下限 上限
bigint -9,223,372,036,854,770,000 9,223,372,036,854,770,000
int -2,147,483,648 2,147,483,647
smallint -32,768 32,767
tinyint 0 255
bit 0 1
decimal 1E+38 10^38 -1
numeric 1E+38 10^38 -1
money -922,337,203,685,477.00 922,337,203,685,477.00
smallmoney -214,748.36 214,748.36

近似數(shù)值數(shù)據(jù)類型

數(shù)據(jù)類型 下限 上限
float -1.79E + 308 1.79E + 308
real -3.40E + 38 3.40E + 38

日期和時(shí)間數(shù)據(jù)類型

數(shù)據(jù)類型 下限 上限
datetime Jan 1, 1753 31-Dec-99
smalldatetime 1-Jan-00 6-Jun-79
date 存儲(chǔ)一個(gè)日期數(shù)據(jù),例如 June 30, 1991
time 存儲(chǔ)一個(gè)時(shí)間數(shù)據(jù),例如 12:30 P.M.

注意:datetime 的時(shí)間和精度為 3.33 ms,而 smalldatetime 的時(shí)間精度為 1 min。

字符串?dāng)?shù)據(jù)類型

數(shù)據(jù)類型 下限 上限
char char 最大長(zhǎng)度為 8,000 字符。(定長(zhǎng)非 Unicode 字符)
varchar varchar 最大長(zhǎng)度為 8,000 字符。(變長(zhǎng)非 Unicode 數(shù)據(jù))
varchar(max) varchar(max) 最大長(zhǎng)度為 231 字符, 變長(zhǎng)非 Unicode 數(shù)據(jù) (僅限 SQL Server 2005).
text text 變長(zhǎng)非 Unicode 字符數(shù)據(jù),最大長(zhǎng)度 2,147,483,647 字符。

Unicode 字符串?dāng)?shù)據(jù)類型

數(shù)據(jù)類型 描述
nchar 最大長(zhǎng)度 4000 字符。(定長(zhǎng) Unicode 字符串)
nvarchar 最大長(zhǎng)度 4000 字符。(變長(zhǎng) Unicode 字符串)
nvarchar(max) 最大長(zhǎng)度 231 字符 。(僅限 SQL Server 2005)。(變長(zhǎng) Unicode 字符串)
ntext 最大長(zhǎng)度 1,073,741,823 字符。(變長(zhǎng) Unicode 字符串)

二進(jìn)制數(shù)據(jù)類型

數(shù)據(jù)類型 描述
binary 最大長(zhǎng)度 8000 字節(jié)。(定長(zhǎng)二進(jìn)制數(shù)據(jù))
varbinary 最大長(zhǎng)度 8000 字節(jié)。(變長(zhǎng)二進(jìn)制數(shù)據(jù))
varbinary(max) 最大長(zhǎng)度 231字節(jié) (僅限 SQLServer 2005)。 (變長(zhǎng)二進(jìn)制數(shù)據(jù))
image 最大長(zhǎng)度 2,147,483,647 字節(jié)。(變長(zhǎng)二進(jìn)制數(shù)據(jù))

其他數(shù)據(jù)類型

數(shù)據(jù)類型 描述
sql_variant 存儲(chǔ)多種 SQL 支持的數(shù)據(jù)類型,text、ntext、timestamp 除外。
timestamp 一個(gè)數(shù)據(jù)庫(kù)級(jí)的唯一值,每當(dāng)有行更新此數(shù)據(jù)就會(huì)更新。
uniqueidentifier 全局唯一標(biāo)識(shí)符(GUID)
xml 存儲(chǔ) XML 數(shù)據(jù)。你可以在列或者變量中存儲(chǔ) XML 實(shí)例。(僅限 SQL Server 2005)
cursor 指向 cursor 對(duì)象。
table 存儲(chǔ)結(jié)果,以備后用。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)