sql資料型態整理表,資料來源微軟技術中心
分類 |
資料類型 |
位元數 |
描述 |
|
exact numeric 精確數值 |
bigint |
8 byte
|
-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)整數 |
|
Bit |
1 byte |
0,1,null |
||
decimal |
視精確度而定 decimal[ (p[ ,s] )] p (有效位數) s(小數位數) 0 <= s <= p
|
-10^38到10^38-1 |
||
有效位數 |
儲存體位元組 |
|||
1~9 |
5 |
|||
10~19 |
9 |
|||
20~28 |
13 |
|||
29~38 |
17 |
|||
int |
4 byte |
-2^31 到 2^31 -1 |
||
Money |
8 byte |
-922,337,203,685,477.5808 到 922,337,203,685,477.5807 (縮放到小數點後四位) |
||
numeric |
視精確度而定 numeric[ (p[ ,s] )] p (有效位數) s(小數位數) 0 <= s <= p
|
-10^38到10^38-1 decimal(18,0)18是定點精度,0是小數位數。 decimal(a,b)
a指定指定小數點左邊和右邊可以儲存的十進位數字的最大個數,最大精度38。 b指定小數點右邊可以儲存的十進位數字的最大個數。小數位數必須是從 0 到 a之間的值。預設小數位數是 0。 |
||
smallint |
2 byte |
-2^15 (-32,768) 到 2^15-1 (32,767)整數型態 |
||
Smallmoney |
4 byte |
- 214、748.3648 到 214、748.3647(縮放到小數點後四位) |
||
tinyint |
1 byte |
0 到 255整數 |
Approximate Numeric 近似數值 |
float |
視精確度而定 float [ (n)] n的預設值是 53。 |
- 1.79E+308 到 -2.23E-308、0 及 2.23E-308 到 1.79E+308 |
||
n值 |
有效位數 |
儲存體大小 |
|||
1~24 |
7位數 |
4位元組 |
|||
25~53 |
15位數 |
8位元組 |
|||
real |
4 byte |
- 3.40E + 38 到 -1.18E - 38、0 及 1.18E - 38 到 3.40E + 38 |
Date and Time 日期和時間 |
Date 日期 |
字元長度:10 個位置 3 byte |
範圍:0001:01:01 到 9999:12:31 預設格式:YYYY-MM-DD |
datetime |
8 byte |
日期範圍:1753 年 1 月 1 日到 9999 年 12 月 31 日 時間範圍:00:00:00 到 23:59:59.997 |
|
Datetime2 |
6 個位元組代表有效位數小於 3,而 7 個位元組則代表有效位數是 3 和 4。所有其他有效位數則需要 8 個位元組。 |
定義日期,並結合了以 24 小時制為基礎的當日時間。datetime2 可視為現有 datetime 類型的延伸模組,因為它具有較大的日期範圍、較大的預設小數有效位數和選擇性的使用者指定有效位數。 |
|
datetimeoffset |
10 個位元組 (固定) 是預設值,而且具有 100ns 小數秒數有效位數的預設值。 |
定義日期,並結合了具有時區感知並以 24 小時制為基礎的當日時間。 |
|
Smalldatetime |
4 個位元組 (固定)。 |
定義與當日時間結合的日期。這個時間是以 24 小時制為基礎,而秒鐘一律為零 (:00) 而且不含小數秒數。 |
|
time |
5 個位元組 (固定) 是預設值,而且具有 100ns 小數秒數有效位數的預設值。 |
定義一天的時間。這個時間不含時區感知,而且是以 24 小時制為基礎。 |
Character Strings 字元字串 |
char |
最大2GB |
1 到 8,000 的值 |
varchar |
最大2GB |
1 到 8,000 的值 |
|
text |
最大2GB |
2^30 - 1 (1,073,741,823) *在未來的 MicrosoftSQL Server 版本中,將移除 ntext、text 和 image 等資料類型。請改用 nvarchar(max)、varchar(max) 和 varbinary(max)。 |
Unicode Character Strings Unicode 字元字串
|
nchar |
最大2GB |
固定長度 Unicode 字元資料 1 到 4,000 的值
|
nvarchar |
最大2GB |
可變長度的Unicodey字元資料 1 到 4,000 的值
|
|
ntext |
最大2GB |
在未來的 MicrosoftSQL Server 版本中,將移除 ntext 2^31-1 (2,147,483,647) |
Binary Strings 二進位字串
|
binary |
最大2GB |
1 到 8,000 的值 當資料行資料項目的大小不一致時,請使用 binary。 |
varbinary |
最大2GB |
1 到 8,000 的值 當資料行資料項目的大小變化相當大時,請使用 varbinary。 如果資料行資料項目超過 8,000 位元組,請使用 varbinary(max)。 |
|
image |
|
在未來的 MicrosoftSQL Server 版本中,將移除image資料類型 |
Misc. Data Types 其他資料 |
cursor |
|
參考資料指標的變數或預存程序 OUTPUT 參數的資料類型。利用 cursor 資料類型來建立的任何變數都可為 Null 值 |
Timestamp被rowversion替代 |
|
timestamp 語法已被取代。未來的 Microsoft SQL Server 版本將移除這項功能 這是顯示在資料庫內自動產生的唯一二進位數字的資料類型。rowversion 通常用來做為版本戳記資料表資料列的機制。 |
|
hierarchyid |
|
hierarchyid 資料類型是可變長度的系統資料類型
|
|
uniqueidentifier |
這是 16 位元組的 GUID |
uniqueidentifier 資料類型的資料行或本機變數可以利用下列方法,初始化為一個值: · 使用 NEWID 函數。 · 從 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 格式的字串常數轉換,其中每一個 x 是範圍 0-9 或 a-f 的十六進位數字。例如,6F9619FF-8B86-D011-B42D-00C04FC964FF 是有效的 uniqueidentifier 值。 |
|
sql_variant |
|
儲存各種 SQL Server 支援之資料類型值的資料類型。 |
|
xml |
|
這是儲存 XML 資料的資料類型。您可以將 xml 執行個體儲存在資料行或 xml 類型的變數中。 |
|
table |
|
這是可用來儲存結果集以便稍後進行處理的特殊資料類型。table 主要用於暫時儲存當做資料表值函式結果集傳回的一組資料列。 |
分類 |
資料類型 |
位元數 |
描述 |
|
exact numeric 精確數值 |
bigint |
8 byte
|
-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)整數 |
|
Bit |
1 byte |
0,1,null |
||
decimal |
視精確度而定 decimal[ (p[ ,s] )] p (有效位數) s(小數位數) 0 <= s <= p
|
-10^38到10^38-1 |
||
有效位數 |
儲存體位元組 |
|||
1~9 |
5 |
|||
10~19 |
9 |
|||
20~28 |
13 |
|||
29~38 |
17 |
|||
int |
4 byte |
-2^31 到 2^31 -1 |
||
Money |
8 byte |
-922,337,203,685,477.5808 到 922,337,203,685,477.5807 (縮放到小數點後四位) |
||
numeric |
視精確度而定 numeric[ (p[ ,s] )] p (有效位數) s(小數位數) 0 <= s <= p
|
-10^38到10^38-1 decimal(18,0)18是定點精度,0是小數位數。 decimal(a,b)
a指定指定小數點左邊和右邊可以儲存的十進位數字的最大個數,最大精度38。 b指定小數點右邊可以儲存的十進位數字的最大個數。小數位數必須是從 0 到 a之間的值。預設小數位數是 0。 |
||
smallint |
2 byte |
-2^15 (-32,768) 到 2^15-1 (32,767)整數型態 |
||
Smallmoney |
4 byte |
- 214、748.3648 到 214、748.3647(縮放到小數點後四位) |
||
tinyint |
1 byte |
0 到 255整數 |
留言列表