Oracle TO_NCHAR(datetime) 函数使用指南

Oracle TO_NCHAR(datetime) 是一个内置函数,它将给定的日期时间或者间隔值根据指定的格式转化为字符串。

TO_CHAR(datetime) 不同,它的返回值是国家字符集。

Oracle TO_NCHAR(datetime) 语法

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

TO_NCHAR(expr [, fmt [, 'nlsparam' ] ])

参数

expr

必需的。一个日期时间或间隔表达式。它可以是 DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL DAY TO SECOND, 或 INTERVAL YEAR TO MONTH 数据类型。

fmt

可选的。格式化字符串。

'nlsparam'

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

返回值

Oracle TO_NCHAR(datetime) 函数返回一个 VARCHAR2 类型的字符串。

如果省略 fmt,则将 date 转换为如下 VARCHAR2 值:

  • DATE 值将转换为默认日期格式的值。
  • TIMESTAMPTIMESTAMP WITH LOCAL TIME ZONE 值将转换为默认时间戳格式的值。
  • TIMESTAMP WITH TIME ZONE 值将转换为具有时区格式的默认时间戳中的值。
  • 间隔值被转换为间隔文字的数字表示。

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

Oracle TO_NCHAR(datetime) 示例

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

基本用法

SELECT
    TO_NCHAR(DATE '2023-02-13', 'YYYY/MM/DD')
FROM dual;

输出:

TO_NCHAR(DATE'2023-02-13','YYYY/MM/DDHH24:MI:SS')
____________________________________________________
2023/02/13

或者您可以指定输出时间部分:

SELECT
    TO_NCHAR(DATE '2023-02-13', 'YYYY/MM/DD HH24:MI:SS')
FROM dual;

输出:

TO_NCHAR(DATE'2023-02-13','YYYY/MM/DDHH24:MI:SS')
____________________________________________________
2023/02/13 00:00:00

间隔

Oracle TO_NCHAR(datetime) 函数允许您输出一个间隔值:

SELECT
    TO_NCHAR(INTERVAL '25-2' YEAR TO MONTH) "Year To Month",
    TO_NCHAR(INTERVAL '2 23:59:59' DAY TO SECOND) "Day To Second"
FROM dual;

输出:

Year To Month    Day To Second
________________ ______________________
+25-02           +02 23:59:59.000000

本示例使用了默认格式参数。

语言设置

Oracle TO_NCHAR(datetime) 函数允许您指定语言以按照设定的语言显示月份或者星期几。

SELECT
    TO_NCHAR(
        DATE '2023-02-13',
        'DY, DD MONTH YYYY',
        'NLS_DATE_LANGUAGE = English'
    ) "English",
    TO_NCHAR(
        DATE '2023-02-13',
        'DY, DD MONTH YYYY',
        'NLS_DATE_LANGUAGE = German'
    ) "German"
FROM dual;

输出:

English                   German
_________________________ ________________________
MON, 13 FEBRUARY  2023    MO, 13 FEBRUAR   2023

NULL 参数

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

SET NULL 'NULL';
SELECT
    TO_NCHAR(NULL, NULL, NULL)
FROM dual;

输出:

TO_NCHAR(NULL,NULL,NULL)
__________________________
NULL

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

结论

Oracle TO_NCHAR(datetime) 是一个内置函数,它将给定的日期时间或者间隔值根据指定的格式转化为字符串。