TO_DATE 函数
TO_DATE 会将以字符串形式表示的日期转换为 DATE 数据类型。
注意
TO_DATE 不支持带有 Q(季度编号)的格式字符串。
语法
TO_DATE(string, format)
TO_DATE(string, format, is_strict)
参数
- string
-
要转换的字符串。
- format
-
一个字符串文本,用于定义其日期部分中的输入字符串格式。有关有效日期、月份和年份格式的列表,请参阅日期时间格式字符串。
- is_strict
-
一个可选的布尔值,它指定在输入日期值超出范围时是否返回错误。当 is_strict 被设置为
TRUE
时,如果存在超出范围的值,则返回错误。当 is_strict 被设置为FALSE
(默认值)时,则接受溢出值。
返回类型
TO_DATE 将根据 format 值返回 DATE。
如果转换为格式 失败,则返回错误。
示例
以下 SQL 语句将日期 02 Oct 2001
转换为日期数据类型。
select to_date('02 Oct 2001', 'DD Mon YYYY');
to_date ------------ 2001-10-02 (1 row)
以下 SQL 语句将字符串 20010631
转换为日期。
select to_date('20010631', 'YYYYMMDD', FALSE);
结果是 2001 年 7 月 1 日,因为六月份只有 30 天。
to_date ------------ 2001-07-01
以下 SQL 语句将字符串 20010631
转换为日期:
to_date('20010631', 'YYYYMMDD', TRUE);
结果产生错误,因为 6 月只有 30 天。
ERROR: date/time field date value out of range: 2001-6-31