首批通过分布式安全可靠测评,为关键业务系统打造
TO_CHAR (datetime)
更新时间:2026-02-09 20:17:39
描述
该函数将日期时间或时间间隔值 DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE、TIMESTAMP WITH LOCAL TIME ZONE、INTERVAL DAY TO SECOND 和 INTERVAL YEAR TO MONTH 等数据类型的值按照参数 fmt 指定的格式转换为 VARCHAR2 数据类型的值。
语法
TO_CHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])
参数解释
| 参数 | 说明 |
|---|---|
| datetime | interval | 指定转换的字符类型。
|
| fmt | 指定输出格式,为可选项。如果不指定参数 fmt,则参数 datetime 的值将按如下格式转换为 VARCHAR2 数据类型:
|
| nlsparam | 用来控制返回的月份和日期所使用的语言。 |
返回类型
返回 VARCHAR2 数据类型。
示例
通过
TO_CHAR函数返回系统当前日期,并且将日期时间值转换为DS DL格式。obclient> SELECT TO_CHAR(SYSDATE,'yyyy/mm/dd'),TO_CHAR(SYSDATE,'DS DL') FROM DUAL; +-------------------------------+----------------------------------------+ | TO_CHAR(SYSDATE,'YYYY/MM/DD') | TO_CHAR(SYSDATE,'DSDL') | +-------------------------------+----------------------------------------+ | 2021/11/18 | 11/18/2021 Thursday, November 18, 2021 | +-------------------------------+----------------------------------------+ 1 row in set将间隔值转化为指定格式,并且设置返回语言为
AMERICAN。obclient> SELECT TO_CHAR(interval'1' year, 'SS-MI-HH', 'nls_language = AMERICAN') FROM DUAL; +-------------------------------------------------------------+ | TO_CHAR(INTERVAL'1'YEAR,'SS-MI-HH','NLS_LANGUAGE=AMERICAN') | +-------------------------------------------------------------+ | +01-00 | +-------------------------------------------------------------+ 1 row in set