T-SQL - 資料型別



SQL Server 資料型別是指定任何物件資料型別的屬性。SQL Server 中的每個列、變數和表示式都有相關的資料型別。這些資料型別可以在建立表時使用。您可以根據您的需求為表列選擇特定的資料型別。

SQL Server 提供七個類別,包括其他類別的用於使用的資料型別。

精確數值型別

型別
bigint -9,223,372,036,854,775,808 9,223,372,036,854,775,807
int -2,147,483,648 2,147,483,647
smallint -32,768 32,767
tinyint 0 255
bit 0 1
decimal -10^38 +1 10^38 –1
numeric -10^38 +1 10^38 –1
money -922,337,203,685,477.5808 +922,337,203,685,477.5807
smallmoney -214,748.3648 +214,748.3647

Numeric 和 decimal 是固定精度和比例的資料型別,並且在功能上是等效的。

近似數值型別

型別
Float -1.79E + 308 1.79E + 308
Real -3.40E + 38 3.40E + 38

日期和時間型別

型別

datetime(3.33 毫秒精度)

1753 年 1 月 1 日 9999 年 12 月 31 日

smalldatetime(1 分鐘精度)

1900 年 1 月 1 日 2079 年 6 月 6 日

date(1 天精度。在 SQL Server 2008 中引入)

0001 年 1 月 1 日 9999 年 12 月 31 日

datetimeoffset(100 納秒精度。在 SQL Server 2008 中引入)

0001 年 1 月 1 日 9999 年 12 月 31 日

datetime2(100 納秒精度。在 SQL Server 2008 中引入)

0001 年 1 月 1 日 9999 年 12 月 31 日

time(100 納秒精度。在 SQL Server 2008 中引入)

00:00:00.0000000 23:59:59.9999999

字元字串

序號 型別和描述
1

char

固定長度的非 Unicode 字元資料,最大長度為 8,000 個字元。

2

varchar

可變長度的非 Unicode 資料,最大長度為 8,000 個字元。

3

Varchar (max)

可變長度的非 Unicode 資料,最大長度為 231 個字元(在 SQL Server 2005 中引入)。

4

text

可變長度的非 Unicode 資料,最大長度為 2,147,483,647 個字元

Unicode 字元字串

序號 型別和描述
1

nchar

固定長度的 Unicode 資料,最大長度為 4,000 個字元。

2

nvarchar

可變長度的 Unicode 資料,最大長度為 4,000 個字元。

3

Nvarchar (max)

可變長度的 Unicode 資料,最大長度為 230 個字元(在 SQL Server 2005 中引入)。

4

ntext

可變長度的 Unicode 資料,最大長度為 1,073,741,823 個字元。

二進位制字串

序號 型別和描述
1

binary

固定長度的二進位制資料,最大長度為 8,000 位元組。

2

varbinary

可變長度的二進位制資料,最大長度為 8,000 位元組。

3

varbinary(max)

可變長度的二進位制資料,最大長度為 231 位元組(在 SQL Server 2005 中引入)。

4

image

可變長度的二進位制資料,最大長度為 2,147,483,647 位元組。

其他資料型別

  • sql_variant - 儲存各種 SQL Server 支援的資料型別的值,除了 text、ntext 和 timestamp。

  • timestamp - 儲存資料庫範圍內的唯一編號,每次更新行時都會更新。

  • uniqueidentifier - 儲存全域性唯一識別符號 (GUID)。

  • xml - 儲存 XML 資料。您可以將 XML 例項儲存在列或變數中(在 SQL Server 2005 中引入)。

  • cursor - 對遊標的引用。

  • table - 儲存結果集以供以後處理。

  • hierarchyid - 用於表示層次結構中位置的可變長度系統資料型別(在 SQL Server 2008 中引入)。

廣告