Oracle TO_CHAR(datetime) 函数使用指南
Oracle TO_CHAR(datetime)
是一个内置函数,它将给定的日期时间或者间隔值根据指定的格式转化为字符串。
Oracle TO_CHAR(datetime)
语法
这里是 Oracle TO_CHAR(datetime)
函数的语法:
TO_CHAR(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_CHAR(datetime)
函数返回一个 VARCHAR2
类型的字符串。
如果省略 fmt
,则将 date
转换为如下 VARCHAR2
值:
DATE
值将转换为默认日期格式的值。TIMESTAMP
和TIMESTAMP WITH LOCAL TIME ZONE
值将转换为默认时间戳格式的值。TIMESTAMP WITH TIME ZONE
值将转换为具有时区格式的默认时间戳中的值。- 间隔值被转换为间隔文字的数字表示。
如果任意一个参数为 NULL
, TO_CHAR(datetime)
将返回 NULL
。
Oracle TO_CHAR(datetime)
示例
这里有几个展示了 Oracle TO_CHAR(datetime)
函数用法的示例。
基本用法
SELECT
TO_CHAR(DATE '2023-02-13', 'YYYY/MM/DD')
FROM dual;
输出:
TO_CHAR(DATE'2023-02-13','YYYY/MM/DD')
_________________________________________
2023/02/13
或者您可以指定输出时间部分:
SELECT
TO_CHAR(DATE '2023-02-13', 'YYYY/MM/DD HH24:MI:SS')
FROM dual;
输出:
TO_CHAR(DATE'2023-02-13','YYYY/MM/DDHH24:MI:SS')
___________________________________________________
2023/02/13 00:00:00
间隔
Oracle TO_CHAR(datetime)
函数允许您输出一个间隔值:
SELECT
TO_CHAR(INTERVAL '25-2' YEAR TO MONTH) "Year To Month",
TO_CHAR(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_CHAR(datetime)
函数允许您指定语言以按照设定的语言显示月份或者星期几。
SELECT
TO_CHAR(
DATE '2023-02-13',
'DY, DD MONTH YYYY',
'NLS_DATE_LANGUAGE = English'
) "English",
TO_CHAR(
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 参数
如果任意一个参数为 NULL
, TO_CHAR(datetime)
将返回 NULL
。
SET NULL 'NULL';
SELECT
TO_CHAR(NULL, NULL, NULL)
FROM dual;
输出:
TO_CHAR(NULL,NULL,NULL)
__________________________
NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle TO_CHAR(datetime)
是一个内置函数,它将给定的日期时间或者间隔值根据指定的格式转化为字符串。