SQL Server 中文版預設 datetime 格式為 yyyy-mm-dd hh:mm:ss.mmm (如 2004-09-12 11:06:08.177)。開發時常需轉換為各種顯示格式,彙整常用 CONVERT 樣式代碼如下:
| 樣式代碼 | 輸出範例 | 格式說明 |
|---|---|---|
| 120 | 2004-09-12 11:06:08 | ODBC 標準 (yyyy-mm-dd hh:mi:ss) |
| 111 | 2004/09/12 | 日本標準 (yyyy/mm/dd) |
| 112 | 20040912 | ISO 日期 (yyyymmdd) |
| 102 | 2004.09.12 | 點號分隔 (yyyy.mm.dd) |
| 101 | 09/12/2004 | 美式 (mm/dd/yyyy) |
| 103 | 12/09/2004 | 英式/歐式 (dd/mm/yyyy) |
| 104 | 12.09.2004 | 德式 (dd.mm.yyyy) |
| 105 | 12-09-2004 | 義式 (dd-mm-yyyy) |
| 106 | 12 09 2004 | 空白分隔 (dd mon yyyy) |
| 107 | Sep 12, 2004 | 月份縮寫 (mon dd, yyyy) |
| 108 | 11:06:08 | 僅時間 (hh:mi:ss) |
| 109 | Sep 12 2004 11:06:08:177AM | 預設含毫秒 (mon dd yyyy hh:mi:ss:mmmAM/PM) |
| 110 | 09-12-2004 | 美式短日期 (mm-dd-yyyy) |
| 113 | 12 Sep 2004 11:06:08:177 | 歐洲預設含毫秒 (dd mon yyyy hh:mi:ss:mmm) |
| 114 | 11:06:08.177 | 僅時間含毫秒 (hh:mi:ss:mmm) |
進階範例: 移除所有分隔符號,取得純數字時間戳記:
SELECT REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120), '-', ''), ' ', ''), ':', '')
-- 結果:20040912110608