在上一篇建立的資料表中,資料行名稱後面有int或是nchar的關鍵字,它們的作用是宣告該欄位的資料類型,而每個欄位都要指定資料類型。而資料類型主要可以分為字串資料類型、數值資料類型、日期資料類型、二進位資料類型
char [ ( n ) ] : 固定大小字串資料,1~4000字元
varchar [ ( n ) ] : 可變大小字串資料,1~4000字元
nchar [ ( n ) ] : 固定長度的字串,1~4000字元,支援UNICODE
nvarchar [ ( n ) ] : 可變長度的字串,1~4000字元,支援UNICODE
int是SQL Server中主要整數資料類型
資料類型 | 範圍 | 儲存位元 |
---|---|---|
bigint | 〔-2 的63次方 ~ 2 的63次方〕-1 | 8bytes |
int | 〔-2 的31次方 ~ 2 的31次方〕-1 | 4bytes |
tinyint | 0 - 255 | 2bytes |
smallint | 〔-2 的15次方) ~ (2 的15次方〕-1 | 1bytes |
numeric在使用上等同於decimal,皆為含小數的數值
資料類型 | 語法 |
---|---|
numeric | numeric〔(p〔, s〕)〕 |
decimal | decimal〔(p〔, s〕)〕 |
p&s | |
名稱 | 敘述 |
-- | -- |
p (精確度) | 最多儲存十進位數字的總位數 |
s (小數位數) | 小數點右邊可以儲存十進位數字的最大位數 |
資料類型 | 範圍 | 儲存位元 |
---|---|---|
money | -922,337,203,685,477.5808~922,337,203,685,477.5807 | 8bytes |
samllmoney | -214,748.3648 ~ 214,748.3647 | 4bytes |
n為儲存float數值尾數之位數,若指定了n,則n要介於1~53。
資料類型 | 範圍 | 儲存位元 |
---|---|---|
Float (n) | -1.79E + 308 ~ -2.23E – 308 、 0 、2.23E – 308 ~ 1.79E + 308 | 取決於n值 |
real | -3.40E + 38 ~ -1.18E – 38 、 0 、1.18E – 38 ~ 3.40E + 38 | 4bytes |
資料類型 | 格式 | 範圍 | 精確度 | 儲存位元 |
---|---|---|---|---|
date | YYYY-MM-DD | 0001/01/01 ~ 9999/12/31 | 1天 | 3bytes |
samlldatetime | YYYY-MM-DD hh:mm:ss | 1900/01/01 ~ 2079/06/06 | 1分鐘 | 4bytes |
datetime | YYYY-MM-DD hh:mm:ss〔.nnn〕 | 1753/01/01 ~ 9999/12/31 | 0.00333秒 | 8bytes |
datetime2 | YYYY-MM-DD hh:mm:ss〔.nnnnnnn〕 | 0001/01/01,00:00:00.0000000~9999/12/31,23:59:59.9999999 | 100奈秒 | 6~8bytes |
資料類型 | 介紹 | 範圍 | 儲存位元 |
---|---|---|---|
binary〔n〕 | 固定長度資料 | n為1~8000的數值 | n個位元組 |
varbinary〔n ∣ max〕 | 可變長度資料 | n為1~8000的數值,max為最大儲存大小231-1位元 | 輸入資料實際長度 + 2位元組 |
除了資料型別以外,對於存入欄位的資料增加限制的功能,基本上是用來規範每一筆資料裡的各項欄位值,在設置資料欄位時,通常僅就欄位的形態及長度可否Null之類的做設定