---
title: "TO_CHAR(datetime) - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: "TO_CHAR(datetime) 描述 该函数用于将日期时间类型的值转换为 VARCHAR 类型的数据。 说明 对于 OceanBase 数据库 V4.3.5 版本，该函数从 V4.3.5 BP1 版本开始支持。 语法声明 TO_CHAR(datetime [, fmt]) 参数解释 datetime ：表示要转换…"
---
切换语言

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

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

# TO_CHAR(datetime)

更新时间：2026-07-15 20:42:45

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/400.functions-of-mysql-mode/200.single-row-functions-of-mysql-mode/300.conversion-functions-of-mysql-mode/1800.to_char_datetime-of-mysql-mode.md)  

## 描述

该函数用于将日期时间类型的值转换为 `VARCHAR` 类型的数据。

#### 说明

对于 OceanBase 数据库 V4.3.5 版本，该函数从 V4.3.5 BP1 版本开始支持。

## 语法声明

```sql
TO_CHAR(datetime [, fmt])

```

## 参数解释

- `datetime`：表示要转换的日期时间型数据。
 - `fmt`：可选项，用于指定输出的格式。如果不指定参数 `fmt`，则将按参数 `datetime` 的格式转换为 `VARCHAR` 数据类型。具体介绍参见下文 [fmt](#fmt)。

### fmt

`fmt` 参数格式取值如下：

| **格式** | **说明** |
| --- | --- |
| `-`、`/`、`,`、`.`、`;`、`:` 和 `"text"` | 表示时间分隔符号。除了标准的几个，还允许用文字作为分割符号。例如 `TO_CHAR(SYSDATE(), 'YYYY "年" mm "月" dd "日"')`。 |
| `AD`/`A.D.` | 表示公元。会根据 NLS 的不同转换为公元或者 `AD` 等。 |
| `AM`/`A.M.` | 表示上午。同 `PM`/`P.M.` 会返回上午或下午标识。 |
| `BC`/`B.C.` | 表示公元前。 |
| `CC`/`SCC` | 返回世纪，以阿拉伯数字表示。如果年的后两位介于 01 至 99 之间，那么，返回前两位 +1，否则返回前两位。 |
| `D` | 返回一周之中的某天，返回的是序号 1 至 7。 |
| `DAY` | 返回一周之中的某天，不过返回的是星期几。   #### 说明    该格式和语言设置有关系，在中国环境 `NLS_DATE_LANGUAGE = SIMPLIFIED CHINESE`，用星期一到星期天表示。 |
| `DD` | 返回月份中的某天（1 至 31）。 |
| `DDD` | 返回年份中的某天（1 至 366）。 |
| `DL` | 返回长的日期格式。受到 `NLS_TERRITORY`、`NLS_LANGUAGE` 参数控制。 |
| `DS` | 返回短的日期格式。受到 `NLS_TERRITORY`、`NLS_LANGUAGE` 参数控制。 |
| `E` | 表示纪元简称，但是只适合以下集中日历：日本皇室、中华民国、泰国佛历。 |
| `FF [1..9]` | 就是毫秒，如果不更上数字就是用默认的精度。只能用于 `TIMESTAMP` 类型的。 |
| `FM` | 不返回任何内容。 |
| `HH`/`HH12` | 表示小时，为 12 小时制（1 至 12）。 |
| `HH24` | 表示小时，为 24 小时制（0 至 23）。 |
| `IW` | ISO 标准的星期序号（1 至 52 或者 1 至 53）。 |
| `IYYY`、`IYY`、`IY`、`I` | 返回 ISO 年（4位）4、3、2、1 位数字（倒数）。 |
| `J` | 表示儒略日（多用于天文的一种日历），从公元前 4712 年 1 月 1 日算起，得出的结果是个整数，算法大体为：`(公元日期 + 4712)*儒略日历年平均天数`。 |
| `MI` | 返回分钟（0 至 59）。 |
| `MM` | 返回两位月份（01 至 12）。 |
| `MON` | 返回月的简称。和国家有关系 `NLS_DATE_LANGUAGE`，例如，04 在中文环境下用 4 表示。 |
| `MONTH` | 返回月的名称。和国家有关系 `NLS_DATE_LANGUAGE`，例如，在中文下 04 表示为 4 月。 |
| `PM`/`P.M.` | 表示下午。同 `AM`/`A.M.` 会返回上午或下午标识。 |
| `Q` | 返回季度（1 至 4）。 |
| `RR` | 表示年（后两位）。 |
| `SS` | 返回秒（0 至 59），一分钟内。 |
| `SSSSS` | 返回一天从午夜开始的累积秒数（0 至 86399）。 |
| `SYYYY` | 四位年，`S` 前缀表示公元前 `BC`。 |
| `TZD` | 夏令时制信息，时区简写加上夏令时信息，必须和格式 `TZR` 设置的时区对应。包括下面三个 `TZH`、`TZM`、`TZR`，都是和时区相关，并不是直接用在 `TO_CHAR`。 |
| `TZH` | 时区中的小时，例如 `hh:mi:ss.fftzh:tzm`。 |
| `TZM` | 时区中的分钟。 |
| `TZR` | 时区中的区域信息，必须是数据库支持的时区，例如 US/Pacific。 |
| `WW` | 表示星期的序号，从年的第一天算起到年的最后一个第七天（1 至 53）。例如，2008-01-01 到2008-01-07 算 1，2008-01-09 到 2008-01-13 算 2。 |
| `W` | 一个月中的星期序号。 |
| `X` | 代表本地根符号，没有特别用处，只能和 `TIMESTAMP` 类型一起使用。 |
| `Y,YYY` | 返回四位数年，用英文逗号分隔。例如 2,008。 |
| `YYYY`、`YYY`、`YY`、`Y` | 表示后面 4、3、2、1 位数字的年。例如 2008 可以分别取值为：2008、008、08、8。 |

## 返回类型

- 返回 `VARCHAR` 类型的数据。
 - `datetime` 值为 `NULL` 时，返回 `NULL`。

## 示例

```sql
SELECT
    TO_CHAR(SYSDATE()),
    TO_CHAR(SYSDATE(), 'YYYY/MM/DD HH24:MI:SS AM'),
    TO_CHAR(SYSDATE(), 'DS HH:MI:SS PM'),
    TO_CHAR(SYSDATE(), 'Month'),
    TO_CHAR(NULL, 'HH:MI:SS');

```

返回结果如下：

```shell
+---------------------+------------------------------------------------+--------------------------------------+-----------------------------+---------------------------+
| TO_CHAR(SYSDATE())  | TO_CHAR(SYSDATE(), 'YYYY/MM/DD HH24:MI:SS AM') | TO_CHAR(SYSDATE(), 'DS HH:MI:SS PM') | TO_CHAR(SYSDATE(), 'Month') | TO_CHAR(NULL, 'HH:MI:SS') |
+---------------------+------------------------------------------------+--------------------------------------+-----------------------------+---------------------------+
| 2025-03-04 09:38:56 | 2025/03/04 09:38:56 AM                         | 3/4/2025 09:38:56 AM                 | March                       |                      NULL |
+---------------------+------------------------------------------------+--------------------------------------+-----------------------------+---------------------------+
1 row in set

```

## 相关文档

- [TO_CHAR(character)](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002502829)
 - [TO_CHAR(number)](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002502830)

 上一篇 下一篇 ![有帮助](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) 咨询热线
