其資料類型有以下幾項
精確數值類:
-bigint-int
-smallint
-tinyint
資料類型 | 範圍 | 儲存體 |
---|---|---|
bigint | -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) | 8 位元組 |
int | -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) | 4 位元組 |
smallint | -2^15 (-32,768) 到 2^15-1 (32,767) | 2 位元組 |
tinyint | 0 到 255 | 1 位元組 |
-bit
值有 1、0 或 NULL,Database Engine 會將儲存體最佳化,即如資料表中有1-8個bit資料型態,會儲存為一個位元組,依此類推,9-16個bit資料型態則會儲存為兩個位元組。
-decimal
-numberic
decimal[ (p[ , s] )] and numeric[ (p[ , s] )] 指定十進位資料型態,左(p) 及右(s) 的有效位數,但須遵守 0<=s<=p 的規則。 兩者並無不同。有效位數最多為38。
有效位數 | 儲存體位元組 |
---|---|
1 - 9 | 5 |
10-19 | 9 |
20-28 | 13 |
29-38 | 17 |
-money
-smallmoney
代表金融或貨幣的資料類型
資料類型 | 範圍 | 儲存體 |
---|---|---|
money | -922,337,203,685,477.5808 到 922,337,203,685,477.5807 | 8 位元組 |
smallmoney | - 214、748.3648 到 214、748.3647 | 4 位元組 |
近似數值類:
-float-real
浮點數 real 的 SQL-92 同義字是 float(24)。
資料類型 | 範圍 | 儲存體 |
---|---|---|
float | - 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 | 4 位元組 |
n 值 | 有效位數 | 儲存體大小 |
---|---|---|
1-24 | 7 位數 | 4 位元組 |
25-53 | 15 位數 | 8 位元組 |
日期和時間類:
-datetime
-smalldatetime
資料類型 | 範圍 | 精確度 |
---|---|---|
datetime | 1753 年 1 月 1 日到 9999 年 12 月 31 日 | 3.33 毫秒 |
smalldatetime | 1900 年 1 月 1 日到 2079 年 6 月 6 日 | 1 分鐘 |
字元字串類:
-char
char [ ( n ) ] 固定長度非 Unicode 字元資料。儲存體大小是 n 位元組。
-varchar
varchar [ ( n | max ) ] 可變長度非 Unicode 字元資料。n 可以是 1 到 8,000 的值。max 表示最大儲存體大小是 2^31-1 位元組。儲存體大小是輸入資料的實際長度再加上 2 位元組。
- 當資料行資料項目的大小不一致時,請使用 char。
- 當資料行資料項目的大小變化相當大時,請使用 varchar。
- 當資料行資料項目的大小變化相當大,且大小可能超出 8,000 位元組時,請使用 varchar(max)。
在未來的 Microsoft SQL Server 版本中,將移除 ntext、text 和 image 等資料類型。 (SQL Server 2005 及 2008 的MSDN都這麼說,雖然不知何時移除,但也表示此資料類型已不適用)
Unicode 字元字串類:
-nchar nchar [ ( n ) ] 固定長度 Unicode 字元資料。n 必須是 1 到 4,000 的值。儲存體大小是 n 位元組的兩倍。
-nvarchar nvarchar [ ( n | max ) ] 可變長度,Unicode 字元資料。n 可以是 1 到 4,000 的值。max 表示最大儲存體大小是 2^31-1 位元組。儲存體大小是輸入字元數的兩倍 + 2 位元組 (以位元組為單位)。
-ntext 在未來的 Microsoft SQL Server 版本中,將移除 ntext、text 和 image 等資料類型。 (SQL Server 2005 及 2008 的MSDN都這麼說,雖然不知何時移除,但也表示此資料類型已不適用)
二進位字串類:
-binary
binary [ ( n ) ] 固定長度的二進位資料,其長度為 n 位元組,n 代表 1 到 8,000 的值。儲存體大小是 n 位元組。
-varbinary
varbinary [ ( n | max) ] 可變長度的二進位資料。n 是 1 到 8,000 的值。max 表示儲存體大小上限是 2^31-1 位元組。儲存體大小是輸入資料的實際長度再加上 2 位元組。
-image
在未來的 Microsoft SQL Server 版本中,將移除 ntext、text 和 image 等資料類型。 (SQL Server 2005 及 2008 的MSDN都這麼說,雖然不知何時移除,但也表示此資料類型已不適用)
其他資料類型:
-cursor
-sql_variant
-table
-timestamp
-uniqueidentifier
-xml
這些資料類型用法較特殊,且不常使用,擇日再補述。
沒有留言:
張貼留言