CAST 和 CONVERT (Transact-SQL)[轉]

摘要:CAST 和 CONVERT (Transact-SQL)[轉]

 

轉換運算式的資料類型。

Topic link icon Transact-SQL 語法慣例


Syntax for CAST:
CAST ( expression AS data_type [ ( length ) ] )

Syntax for CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

 

expression

這是任何有效的運算式

data_type

這是目標資料類型。其中包括 xmlbigint 和 sql_variant。無法使用別名資料類型。如需有關可用資料類型的詳細資訊,請參閱<資料類型 (Transact-SQL)>。

length

這是指定目標資料類型之長度的選擇性整數。預設值為 30。

style

這是指定 CONVERT 函數如何轉譯 expression 的整數運算式。如果 style 是 NULL,就會傳回 NULL。此範圍由 data_type 決定。如需詳細資訊,請參閱<備註>一節。

傳回轉譯成 data_type 的 expression

日期和時間樣式

當 expression 是日期或時間資料類型時, style 就可以是下表所列的其中一個值。其他值則當做 0 處理。SQL Server 利用科威特演算法來支援阿拉伯文樣式的日期格式。

 

不含世紀 (yy) (1)

含世紀 (yyyy)

標準

輸入/輸出 (3)

-

0 或 100 (1,2)

預設值

mon dd yyyy hh:miAM (或 PM)

1

101

U.S.

mm/dd/yyyy

2

102

ANSI

yy.mm.dd

3

103

英國/法國

dd/mm/yyyy

4

104

德國

dd.mm.yy

5

105

義大利

dd-mm-yy

6

106 (1)

-

dd mon yy

7

107 (1)

-

Mon dd, yy

8

108

-

hh:mi:ss

-

9 或 109 (1,2)

預設值 + 毫秒

mon dd yyyy hh:mi:ss:mmmAM (或 PM)

10

110

USA

mm-dd-yy

11

111

JAPAN

yy/mm/dd

12

112

ISO

yymmdd

yyyymmdd

-

13 或 113 (1,2)

歐洲預設值 + 毫秒

dd mon yyyy hh:mi:ss:mmm(24h)

14

114

-

hh:mi:ss:mmm(24h)

-

20 或 120 (2)

ODBC 標準

yyyy-mm-dd hh:mi:ss(24h)

-

21 或 121 (2)

ODBC 標準 (含毫秒)

yyyy-mm-dd hh:mi:ss.mmm(24h)

-

126 (4)

ISO8601

yyyy-mm-ddThh:mi:ss.mmm (無空格)

-

127(6, 7)

具有時區 Z 的 ISO8601。

yyyy-mm-ddThh:mi:ss.mmmZ

(無空格)

-

130 (1,2)

回曆 (5)

dd mon yyyy hh:mi:ss:mmmAM

-

131 (2)

回曆 (5)

dd/mm/yy hh:mi:ss:mmmAM

1 這些樣式值會傳回不具決定性的結果。其中包括所有 (yy) (不含世紀) 樣式和 (yyyy) (含世紀) 樣式的子集。

2 預設值 (style0 或 1009 或 10913 或 11320 或 120 及 21 或 121) 一律會傳回世紀 (yyyy)。

3 當轉換成 datetime 時輸入;當轉換成字元資料時輸出。

4 專為了 XML 而設計。如果是從 datetime 或 smalldatetime 轉換成字元資料,輸出格式會符合上表的描述。

5 回歷是含有多種變體的一種日曆系統。SQL Server 使用科威特演算法。