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 中将字符串转换为日期。

本教程是否有帮助?
© .