每日一SQL-CONVERT
今天記一個簡單的語法 convert
CONVERT ( 資料型別 [ (資料長度) ] , 運算式, [ 日期格式樣式 ] )
日期格式有好多種 MSDN
不含世紀 (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 |
例子
DECLARE @myDate DATETIME
SET @myDate = getdate()
PRINT CONVERT(CHAR(100), @myDate, 111)
PRINT CONVERT(CHAR(100), @myDate, 112)
結果
2010/05/27
20100527