CAST ( expression AS data_type )
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
| 參數 | 說明 |
|---|---|
expression | 任何有效運算式 (資料行、變數、常值、函數呼叫等) |
data_type | 目標系統資料類型 (含 bigint、sql_variant),不可使用使用者定義型別 |
length | 選用,僅適用 char/varchar/nchar/nvarchar/binary/varbinary |
style | 選用,日期/時間轉字串或數值轉字串的格式代碼 (見下表) |
| style | 輸出格式範例 | 標準 |
|---|---|---|
| 101 | mm/dd/yyyy | 美國 |
| 102 | yyyy.mm.dd | ANSI |
| 103 | dd/mm/yyyy | 英國/法國 |
| 112 | yyyymmdd | ISO (無分隔) |
| 120 | yyyy-mm-dd hh:mi:ss (24h) | ODBC 標準 |
| 121 | yyyy-mm-dd hh:mi:ss.mmm (含毫秒) | ODBC 毫秒 |
| 126 | yyyy-mm-ddThh:mi:ss.mmm (ISO8601) | XML/JSON 交換 |
完整代碼表請參閱 SQL Server 聯機叢書「CAST 和 CONVERT」。
SMALLINT 與 INT 比較時,SMALLINT 自動提升為 INT。CAST 或 CONVERT 明確指定。CAST($157.27 AS VARCHAR(10)) → '$157.27'nchar → image:完全不支援 (隱性/顯式皆不行)nchar → binary:僅支援顯式 CAST/CONVERTnchar → nvarchar:隱性/顯式皆支援sql_variant:隱性轉入支援 (其他型別 → variant),隱性轉出不支援 (variant → 其他型別需顯式)CAST 符合 ANSI 標準,跨資料庫可移植性較佳,優先使用;需特定日期/數值格式輸出時改用 CONVERT。