SQL Server CONVERT() 格式化顯示日期和時間 (convert dateime)
在 SQL Server 中,可以用 CONVERT() 函數來用不同的格式顯示日期和時間。
CONVERT() 語法 (Syntax)
CONVERT(data_type, date, style)
CONVERT() 執行後會返回 date 格式化後的結果。
其中參數 data_type 可以指定輸出的資料型態,例如 varchar;也可以指定長度,例如 varchar(10)。
而參數 style 是用來指定日期和時間的輸出格式,可以是下列這些值:
style id 不含世紀 (yy) | style id 含世紀 (yyyy) | 說明 | 顯示格式 |
---|
- | 0
100 | datetime 和 smalldatetime 的預設值 | mon dd yyyy hh:miAM (或 PM) 1 | 101 | 美式英文 | 1 = mm/dd/yy
101 = mm/dd/yyyy 2 | 102 | ANSI | 2 = yy.mm.dd
102 = yyyy.mm.dd 3 | 103 | 英式英文/法文 | 3 = dd/mm/yy
103 = dd/mm/yyyy 4 | 104 | 德文 | 4 = dd.mm.yy
104 = dd.mm.yyyy 5 | 105 | 義大利文 | 5 = dd-mm-yy
105 = dd-mm-yyyy 6 | 106 | - | 6 = dd mon yy
106 = dd mon yyyy 7 | 107 | - | 7 = Mon dd, yy
107 = Mon dd, yyyy 8 | 108 | - | hh:mi:ss - | 9
109 | 預設值 + 毫秒 | mon dd yyyy hh:mi:ss:mmmAM (或 PM) 10 | 110 | USA | 10 = mm-dd-yy
110 = mm-dd-yyyy 11 | 111 | 日本 | 11 = yy/mm/dd
111 = yyyy/mm/dd 12 | 112 | ISO | 12 = yymmdd
112 = yyyymmdd - | 13
113 | 歐洲預設值 + 毫秒 | dd mon yyyy hh:mi:ss:mmm(24h) 14 | 114 | - | hh:mi:ss:mmm(24h) - | 20
120 | ODBC 標準 | yyyy-mm-dd hh:mi:ss(24h) - | 21
121 | time、date、datetime2 和 datetimeoffset 的 ODBC 標準 (使用毫秒) 預設值 | yyyy-mm-dd hh:mi:ss.mmm(24h) - | 126 | ISO8601 | yyyy-mm-ddThh:mi:ss.mmm (無空格)
注意:針對毫秒 (mmm) 值 0,不會顯示毫秒十進位小數值。 例如,'2012-11-07T18:26:20.000' 值會顯示為 '2012-11-07T18:26:20'。 - | 127 | 具有時區 Z 的 ISO8601 | yyyy-mm-ddThh:mi:ss.mmmZ (無空格)
注意:針對毫秒 (mmm) 值 0,不會顯示毫秒十進位值。 例如,'2012-11-07T18:26:20.000' 值會顯示為 '2012-11-07T18:26:20'。 - | 130 | 回曆 | dd mon yyyy hh:mi:ss:mmmAM
在此樣式中,mon 代表完整月份名稱的多 Token 回曆 Unicode 表示法。 這個值無法在 SSMS 的預設美國安裝中正確呈現。 - | 131 | 回曆 | dd/mm/yyyy hh:mi:ss:mmmAM
CONVERT() 用法 (Example)
SELECT CONVERT(varchar, GETDATE(), 10) AS Converted
得到結果:
Converted |
---|
12-20-18 |
SELECT CONVERT(varchar, GETDATE(), 100) AS Converted
得到結果:
Converted |
---|
Dec 20 2018 1:18PM |