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 中的日期。

本教程有帮助吗?