在SQL中,將數字轉換為日期是一個常見的操作。通過使用特定的函數,我們可以輕鬆地將數字表示的日期值轉換為可讀的日期格式。
數字轉換為日期的函數
在SQL中,有兩個常用的函數可以將數字轉換為日期:STR_TO_DATE() 和 TO_DATE()。
STR_TO_DATE() 函數
STR_TO_DATE() 函數將一個字串轉換為一個日期。它的語法如下:
sql
STR_TO_DATE(字串, 格式)
其中,字串表示要轉換的數字字串,格式表示日期的格式。
TO_DATE() 函數
TO_DATE() 函數也將數字轉換為一個日期,但它接受一個數字作為輸入,而不是一個字串。它的語法如下:
sql
TO_DATE(數字, 格式)
其中,數字表示要轉換的數字,格式表示日期的格式。
日期格式
在使用 STR_TO_DATE() 和 TO_DATE() 函數時,指定正確的日期格式非常重要。下表列出了常見的日期格式:
| 格式 | 描述 |
|---|---|
| %Y-%m-%d | YYYY-MM-DD (例如,2023-06-21) |
| %d-%m-%Y | DD-MM-YYYY (例如,21-06-2023) |
| %Y%m%d | YYYYMMDD (例如,20230621) |
| %Y-%m-%d %H:%i:%s | YYYY-MM-DD HH:MM:SS (例如,2023-06-21 12:34:56) |
範例
以下是一些使用 STR_TO_DATE() 和 TO_DATE() 函數將數字轉換為日期的範例:
sql
-- 使用 STR_TO_DATE() 函數
SELECT STR_TO_DATE('20230621', '%Y%m%d') AS 日期;
-- 使用 TO_DATE() 函數
SELECT TO_DATE(20230621, '%Y%m%d') AS 日期;
-- 使用自訂日期格式
SELECT TO_DATE(20230621, '%d-%m-%Y') AS 日期;
輸出:
日期
----------
2023-06-21
2023-06-21
21-06-2023