全部产品
云市场

TO_CHAR (datetime)

更新时间:2020-03-26 16:46:28

TO_CHAR 函数将 DATETIMESTAMPTIMESTAMP WITH TIME ZONETIMESTAMP WITH LOCAL TIME ZONEINTERVAL DAY TO SECONDINTERVAL YEAR TO MONTH 等数据类型的值按照参数 fmt 指定的格式转换为 VARCHAR2 数据类型的值。 如果不指定参数 fmt,则参数 datetime 的值将按如下格式转换为 VARCHAR2 数据类型:

  • DATETIMESTAMPTIMESTAMP WITH TIME ZONETIMESTAMP WITH LOCAL TIME ZONE 的值被转换为数据库中日期时间值的默认格式。您可在数据类型章节中查看各日期时间类型的默认格式。
  • INTERVAL DAY TO SECONDINTERVAL YEAR TO MONTH 数据类型的值转换为数字格式的间隔值。

语法

  1. TO_CHAR( datetime [, fmt [, 'nlsparam' ] ])

参数

参数 说明
datetime DATETIMESTAMPTIMESTAMP WITH TIME ZONETIMESTAMP WITH LOCAL TIME ZONEINTERVAL DAY TO SECONDINTERVAL YEAR TO MONTH 等数据类型的值。
fmt 输出格式参数,详细格式信息请参见 日期时间格式化元素表
nlsparam 用来控制返回的月份和日份所使用的语言。

返回类型

VARCHAR2 数据类型。

示例

示例 1: 以下语句通过 TO_CHAR 函数返回系统当前日期,并且将日期时间值转换为了 DS DL 格式:

  1. SELECT TO_CHAR(SYSDATE,'DS DL') FROM DUAL;

查询结果如下:

  1. +-----------------------------------+
  2. | TO_CHAR(SYSDATE,'DSDL') |
  3. +-----------------------------------+
  4. | 03/08/2020 Sunday, March 08, 2020 |
  5. +-----------------------------------+

示例 2:以下语句将间隔值转化为指定格式,并且设置了返回语言为 AMERICAN

  1. SELECT TO_CHAR(interval'1' year, 'YY-DD', 'nls_language = AMERICAN') FROM DUAL;

查询结果如下:

  1. +----------------------------------------------------------+
  2. | TO_CHAR(INTERVAL'1'YEAR,'YY-DD','NLS_LANGUAGE=AMERICAN') |
  3. +----------------------------------------------------------+
  4. | +01-00 |
  5. +----------------------------------------------------------+