CONVERT(VARCHAR(長度), 日期列/變量, 樣式代碼)
長度需足夠容納目標格式(如 10 容納 yyyy-MM-dd,19 容納 yyyy-MM-dd HH:mm:ss)。
| Style | 輸出範例 | 格式說明 | 標準 |
|---|---|---|---|
| 101 | 09/12/2004 | MM/DD/YYYY | USA |
| 102 | 2004.09.12 | YYYY.MM.DD | ANSI |
| 103 | 12/09/2004 | DD/MM/YYYY | British/French |
| 104 | 12.09.2004 | DD.MM.YYYY | German |
| 105 | 12-09-2004 | DD-MM-YYYY | Italian |
| 106 | 12 09 2004 | DD Mon YYYY | — |
| 107 | 09 12, 2004 | Mon DD, YYYY | — |
| 108 | 11:06:08 | HH:MI:SS | — |
| 109 | 09 12 2004 11:06:08.177 | Mon DD YYYY HH:MI:SS:mmm | Default + 毫秒 |
| 110 | 09-12-2004 | MM-DD-YYYY | USA |
| 111 | 2004/09/12 | YYYY/MM/DD | Japan |
| 112 | 20040912 | YYYYMMDD | ISO |
| 113 | 12 09 2004 11:06:08.177 | DD Mon YYYY HH:MI:SS:mmm | Europe Default + 毫秒 |
| 114 | 11:06:08.177 | HH:MI:SS:mmm | — |
| 120 | 2004-09-12 11:06:08 | YYYY-MM-DD HH:MI:SS | ODBC Canonical |
| 121 | 2004-09-12 11:06:08.177 | YYYY-MM-DD HH:MI:SS.mmm | ODBC Canonical + 毫秒 |
| 126 | 2004-09-12T11:06:08.177 | YYYY-MM-DDTHH:MI:SS.mmm | ISO8601 |
| 127 | 2004-09-12T11:06:08.177 | YYYY-MM-DDTHH:MI:SS.mmmZ | ISO8601 UTC |
| 130 | 12 09 2004 11:06:08.177AM | DD Mon YYYY HH:MI:SS:mmmAM | Kuwaiti |
| 131 | 12/09/2004 11:06:08.177AM | DD/MM/YYYY HH:MI:SS:mmmAM | Kuwaiti |
-- 僅日期
SELECT CONVERT(VARCHAR(10), GETDATE(), 120); -- 2004-09-12
SELECT CONVERT(VARCHAR(10), GETDATE(), 111); -- 2004/09/12
SELECT CONVERT(VARCHAR(10), GETDATE(), 102); -- 2004.09.12
SELECT CONVERT(VARCHAR(10), GETDATE(), 103); -- 12/09/2004
SELECT CONVERT(VARCHAR(10), GETDATE(), 104); -- 12.09.2004
SELECT CONVERT(VARCHAR(10), GETDATE(), 105); -- 12-09-2004
SELECT CONVERT(VARCHAR(10), GETDATE(), 112); -- 20040912
-- 日期時間
SELECT CONVERT(VARCHAR(19), GETDATE(), 120); -- 2004-09-12 11:06:08
SELECT CONVERT(VARCHAR(23), GETDATE(), 121); -- 2004-09-12 11:06:08.177
SELECT CONVERT(VARCHAR(24), GETDATE(), 126); -- 2004-09-12T11:06:08.177
-- 僅時間
SELECT CONVERT(VARCHAR(8), GETDATE(), 108); -- 11:06:08
SELECT CONVERT(VARCHAR(12), GETDATE(), 114); -- 11:06:08.177
REPLACE(CONVERT(VARCHAR(10), GETDATE(), 111), '/', '-') → 2004-09-12CONVERT(VARCHAR(23), GETDATE(), 126)(含 T 分隔符)CAST(GETDATE() AS DATE)(SQL 2008+ 僅日期),CAST(GETDATE() AS TIME)(僅時間)FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss', 'zh-CN') 更靈活但性能略低Mon DD YYYY HH:MIAM,不可靠,生產環境務必顯式指定 Style