Oracle TO_DATE() 函数使用指南

Oracle TO_DATE() 是一个内置函数,它根据可选的格式将给定的字符串日期转为 DATE 数据类型的值。

如果您需要将数据转为其他日期时间数据类型,请使用 TO_TIMESTAMPTO_TIMESTAMP_TZTO_DSINTERVALTO_YMINTERVAL

Oracle TO_DATE() 语法

这里是 Oracle TO_DATE() 函数的语法:

TO_DATE(char [ DEFAULT return_value ON CONVERSION ERROR ]
  [, fmt [, 'nlsparam' ] ])

参数

char

必需的。 它可以任何计算结果为 CHARVARCHAR2NCHARNVARCHAR2 数据类型的字符字符串表达式。

DEFAULT return_value ON CONVERSION ERROR

可选的。它允许您指定在转换发生错误时返回的值。

fmt

可选的。格式化字符串。始终提供此格式参数是推荐的操作。

'nlsparam'

可选的。您可以使用这个 'NLS_DATE_LANGUAGE = language' 形式设置此参数,其中 language 是语言名称。

返回值

Oracle TO_DATE() 函数根据可选的格式将给定的字符串日期转为 DATE 数据类型的值。

如果任意一个参数为 NULLTO_DATE() 将返回 NULL

Oracle TO_DATE() 示例

这里有几个展示了 Oracle TO_DATE() 函数用法的示例。

基本用法

下面的示例将一个日期转为 DATE 数据类型的值:

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
SELECT
    TO_DATE('2023/03/01', 'YYYY-MM-DD')
FROM dual;

输出:

TO_DATE('2023-03-01','YYYY-MM-DD')
_____________________________________
2023-03-01 00:00:00

NULL 参数

如果任意一个参数为 NULLTO_DATE() 将返回 NULL

SET NULL 'NULL';
SELECT
    TO_DATE(NULL)
FROM dual;

输出:

TO_DATE(NULL)
________________
NULL

在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。

结论

Oracle TO_DATE() 是一个内置函数,它根据可选的格式将给定的字符串日期转为 DATE 数据类型的值。