資料類型

Microsoft SQL Server Compact 4.0 資料庫中的每一資料表資料行都支援一組資料類型,用以指定資料行可保存的資料類型。

注意

當執行函數導致溢位或反向溢位時,在提升資料類型的方式上,MicrosoftSQL Server 與 SQL Server Compact 4.0 之間可能有些微差異。

SQL Server Compact 4.0 支援下列資料類型。

資料類型

說明

bigint

從 –2^63 (–9,223,372,036,854,775,808) 到 2^63–1 (9,223,372,036,854,775,807) 的整數 (完整數值) 資料。儲存大小是 8 個位元組。

integer

從 –2^31 (–2,147,483,648) 到 2^31–1 (2,147,483,647) 的整數 (完整數值) 資料。

儲存大小是 4 個位元組。

smallint

從 –32,768 到 32,767 的整數資料。儲存大小是 2 個位元組。

tinyint

從 0 到 255 的整數資料。儲存大小是 1 個位元組。

bit

值為 1 或 0 的整數資料。

儲存大小是 1 個位元。

numeric (p, s)

Synonyms:

decimal(p,s) and dec (p,s)

固定有效位數及小數位數的數值資料,從 –10^38+1 到 10^38–1。p 變數會指定有效位數,而且可能在 1 與 38 之間變更。s 變數會指定小數位數,而且可能在 0 與 p 之間變更。

儲存大小是 19 個位元組。

money

貨幣資料值,從 (–2^63/10000) (–922,337,203,685,477.5808) 到 2^63–1 (922,337,203,685,477.5807),精確度為貨幣單位的萬分之一。儲存大小是 8 個位元組。

float

浮點數資料是從 –1.79E +308 到 1.79E+308。

儲存大小是 8 個位元組。

real

浮點有效位數的數字資料,從 –3.40E+38 到 3.40E+38。

儲存大小是 4 個位元組。

datetime

日期與時間資料,從 1753 年 1 月 1 日到 9999 年 12 月 31 日,精確度為三百分之一秒,或 3.33 毫秒。值會四捨五入為 .000、.003 或 .007 毫秒的遞增值。

儲存為兩個 4 位元組的整數。前 4 個位元組儲存 base date (1900 年 1 月 1 日) 之前或之後的天數。此 base date 是系統的參考日期。不允許 1753 年 1 月 1 日之前的 datetime 數值。其餘 4 個位元組儲存以午夜後毫秒數來表示的時間。秒的有效範圍是 0–59。

格式範例
yyyy/mm/ddhh:mm:ss1947/08/15 03:33:20
mm/dd/yyyyhh:mm:ss04/15/1947 03:33:20
dd mmm yyyy hh:mm:ss15 Jan 1947 03:33:20
dd mmmm yyyy h:mm:ss15 January 1947 03:33:20

national character(n)

Synonym:nchar(n)

最大長度是 4000 個字元的固定長度 Unicode 資料。預設長度 = 1。儲存大小是輸入字元數的兩倍 (以位元組為單位)。

national character varying(n)

Synonym:nvarchar(n)

長度從 1 到 4000 個字元的可變長度 Unicode 資料。預設長度 = 1。儲存大小是輸入字元數的兩倍 (以位元組為單位)。

ntext¹

最大長度是 (2^30–2)/2 (536,870,911) 個字元的可變長度 Unicode 資料。儲存大小是輸入字元數的兩倍 (以位元組為單位)。

附註附註
字串函數中不再支援 ntext。

nchar

n 個字元的固定長度 Unicode 字元資料。n 必須是介於 1 到 4,000 之間的值。儲存大小是 n 位元組的兩倍。

binary(n)

最大長度是 8000 個位元組的固定長度二進位資料。預設長度 = 1。

儲存大小是固定的,就是在型別中宣告的以位元組為單位的長度。

varbinary(n)

最大長度是 8000 個位元組的可變長度二進位資料。預設長度 = 1。

儲存大小會變動,是以位元組為單位的數值長度。

image¹

最大長度是 2^30–1 (1,073,741,823) 個位元組的可變長度二進位資料。

儲存大小是以位元組為單位的數值長度。

uniqueidentifier

全域唯一識別項 (GUID)。儲存大小是 16 個位元組。

IDENTITY [(s, i)]

這是資料行的屬性,而非不同的資料類型。

只有整數資料類型的資料行可用於識別欄位。資料表只能有一個識別欄位。您可指定種子與遞增值,但不能更新資料行。

s (種子) = 起始值

i(遞增) = 遞增值

ROWGUIDCOL

這是資料行的屬性,而非不同的資料類型。這是使用 uniqueidentifier 資料類型所定義的資料表內的資料行。資料表只能有一個 ROWGUIDCOL 資料行。

Timestamp/rowversion

這是自動產生的唯一二進位數字。

儲存大小是 8 個位元組。

¹當位元組數在 SQL Server Compact 4.0 中超過 256 個字元時,Ntext 和 image 資料會儲存在新的資料頁中。這可能會影響資料庫的壓縮範圍,因為 SQL Server Compact 4.0 資料庫的壓縮為頁面取向而非位元組取向。

如需有關在 SQL Server Compact 4.0 中需要轉換之 SQL Server 資料類型的詳細資訊,請參閱<SQL Server Compact 與 SQL Server 之間的差異>。