SQL 字串轉日期函數

摘要:在本教學中,您將學習各種在 SQL 中將字串轉換為日期的函數。

使用 CAST() 函數將字串轉換為日期

SQL 提供一個 CAST() 函數,允許您將字串轉換為日期。以下說明 CAST() 函數的語法

CAST (string AS DATE)   
Code language: SQL (Structured Query Language) (sql)

在這個語法中,string 可以是任何可轉換為日期的 DATE 值。如果 CAST() 函數成功將字串轉換為日期,則會傳回 DATE 值。如果函數無法轉換,則會根據特定資料庫系統的實作發出錯誤。

以下範例示範如何將字串轉換為日期

SELECT CAST('2018' AS DATE);
Code language: SQL (Structured Query Language) (sql)

SQL Server 將字串 2018 轉換為 2018 年 1 月 1 日

2018-01-01
Code language: SQL (Structured Query Language) (sql)

同樣地,以下範例也將字串 180101 轉換為 2018 年 1 月 1 日

SELECT CAST('180101' AS DATE);
Code language: SQL (Structured Query Language) (sql)

這是結果

2018-01-01Code language: SQL (Structured Query Language) (sql)

使用 TO_DATE() 函數將字串轉換為日期

Oracle 和 PostgreSQL 提供 TO_DATE() 函數,該函數根據指定的格式將字串轉換為日期。

以下顯示 TO_DATE() 函數的語法

TO_DATE(string, format)
Code language: SQL (Structured Query Language) (sql)

例如,若要將字串 '10 Aug 2018' 轉換為日期值,您可以使用以下陳述式

SELECT
  TO_DATE( '10 Aug 2018', 'DD MON YYYY' )
FROM
  dual; 
Code language: SQL (Structured Query Language) (sql)

請注意,日期格式必須與陳述式 DD MON YYYY 中指定的日期字串相對應

請查看 Oracle TO_DATE() 和 PostgreSQL TO_DATE() 函數以了解詳細資訊。

在本教學中,您已學習如何使用 CAST()TO_DATE() 函數在 SQL 中將字串轉換為日期。

這個教學對您有幫助嗎?