sql server cast 和 convert函數使用
2010/12/28 9:51
將某種數據類型的表達式顯式轉換為另一種數據類型。CAST 和 CONVERT 提供相似的功能。 語法 使用 CAST: CAST ( expression AS data_type ) 使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 參數 expression 是任何有效的 Microsoft® SQL Server™ 表達式。 data_type 目標系統所提供的數據類型,包括 bigint 和 sql_variant。不能使用用戶定義的數據類型 length nchar、nvarchar、char、varchar、binary 或 varbinary 數據類型的可選參數。 style 日期格式樣式,借以將 datetime 或 smalldatetime 數據轉換為字符數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型);或者字符串格式樣式,借以將 float、real、money 或 smallmoney 數據轉換為字符數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型)。 SQL Server 支持使用科威特算法的阿拉伯樣式中的數據格式。 在表中,左側的兩列表示將 datetime 或 smalldatetime 轉換為字符數據的 style 值。給 style 值加 100,可獲得包括世紀數位的四位年份 (yyyy)。
| 不帶世紀數位 (yy) |
帶世紀數位 (yyyy) |
標准 |
輸入/輸出** |
| - |
0 或 100 (*) |
默認值 |
mon dd yyyy hh:miAM(或 PM) |
| 1 |
101 |
美國 |
mm/dd/yyyy |
| 2 |
102 |
ANSI |
yy.mm.dd |
| 3 |
103 |
英國/法國 |
dd/mm/yy |
| 4 |
104 |
德國 |
dd.mm.yy |
| 5 |
105 |
意大利 |
dd-mm-yy |
| 6 |
106 |
- |
dd mon yy |
| 7 |
107 |
- |
mon dd, yy |
| 8 |
108 |
- |
hh:mm:ss |
| - |
9 或 109 (*) |
默認值 + 毫秒 |
mon dd yyyy hh:mi:ss:mmmAM(或 PM) |
| 10 |
110 |
美國 |
mm-dd-yy |
| 11 |
111 |
日本 |
yy/mm/dd |
| 12 |
112 |
ISO |
yymmdd |
| - |
13 或 113 (*) |
歐洲默認值 + 毫秒 |
dd mon yyyy hh:mm:ss:mmm(24h) |
| 14 |
114 |
- |
hh:mi:ss:mmm(24h) |
| - |
20 或 120 (*) |
ODBC 規范 |
yyyy-mm-dd hh:mm:ss[.fff] |
| - |
21 或 121 (*) |
ODBC 規范(帶毫秒) |
yyyy-mm-dd hh:mm:ss[.fff] |
| - |
126(***) |
ISO8601 |
yyyy-mm-dd Thh:mm:ss:mmm(不含空格) |
| - |
130* |
科威特 |
dd mon yyyy hh:mi:ss:mmmAM |
| - |
131* |
科威特 |
dd/mm/yy hh:mi:ss:mmmAM |
* 默認值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀數位 (yyyy)。 ** 當轉換為 datetime 時輸入;當轉換為字符數據時輸出。 *** 專門用於 XML。對於從 datetime 或 smalldatetime 到 character 數據的轉換,輸出格式如表中所示。對於從 float、money 或 smallmoney 到 character 數據的轉換,輸出等同於 style 2。對於從 real 到 character 數據的轉換,輸出等同於 style 1。 示例:CONVERT(char(10), s.Season_PlanDate, 102) AS 計划日期 |