---
title: "TO_CHAR (datetime) - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: TO_CHAR (datetime) 描述 该函数将日期时间或时间间隔值 DATE 、 TIMESTAMP 、 TIMESTAMP WITH TIME ZONE 、 TIMESTAMP WITH LOCAL TIME ZONE 、 INTERVAL DAY TO SECOND 和 INTERVAL YEAR TO M…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.5.0

# TO_CHAR (datetime)

更新时间：2026-02-09 20:17:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/500.functions-of-oracle-mode/200.single-row-functions-of-oracle-mode/400.date-and-time-functions-of-oracle-mode/1800.to-char-datetime-oracle-of-oracle-mode.md)  

## 描述

该函数将日期时间或时间间隔值 `DATE`、`TIMESTAMP`、`TIMESTAMP WITH TIME ZONE`、`TIMESTAMP WITH LOCAL TIME ZONE`、`INTERVAL DAY TO SECOND` 和 `INTERVAL YEAR TO MONTH` 等数据类型的值按照参数 `fmt` 指定的格式转换为 `VARCHAR2` 数据类型的值。

## 语法

```sql
TO_CHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])

```

## 参数解释

| 参数 | 说明 |
| --- | --- |
| datetime \| interval | 指定转换的字符类型。   - `datetime` 属于日期时间，`DATE`、`TIMESTAMP`、`TIMESTAMP WITH TIME ZONE`、`TIMESTAMP WITH LOCAL TIME ZONE`、`INTERVAL DAY TO SECOND` 和 `INTERVAL YEAR TO MONTH` 等数据类型的值。 - `interval` 属于时间间隔值。 |
| fmt | 指定输出格式，为可选项。如果不指定参数 `fmt`，则参数 `datetime` 的值将按如下格式转换为 `VARCHAR2` 数据类型：   - `DATE`、`TIMESTAMP`、`TIMESTAMP WITH TIME ZONE` 和 `TIMESTAMP WITH LOCAL TIME ZONE` 的值被转换为数据库中日期时间值的默认格式。您可在 **日期时间和间隔数据类型** 章节中查看各日期时间类型的默认格式。 - `INTERVAL DAY TO SECOND` 和 `INTERVAL YEAR TO MONTH` 数据类型的值转换为数字格式的间隔值。 |
| nlsparam | 用来控制返回的月份和日期所使用的语言。 |

## 返回类型

返回 `VARCHAR2` 数据类型。

## 示例

- 通过 `TO_CHAR` 函数返回系统当前日期，并且将日期时间值转换为 `DS DL` 格式。

  ```sql
  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`。

  ```sql
  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

  ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
