---
title: OceanBase 数据库暂不支持公元前时间表示-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OceanBase 数据库暂不支持公元前时间表示相关的常见问题和使用技巧，帮助您快速解决 OceanBase 数据库暂不支持公元前时间表示的难题。
---
切换语言

- 简体中文
- English

划线反馈

# OceanBase 数据库暂不支持公元前时间表示

更新时间：2026-05-18 09:11

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x、V4.0.x 内容类型：TechNote  

本文主要介绍 OceanBase 数据库对公元前时间表示的支持限制。

OceanBase 数据库 Oracle 模式下示例如下。

1. 创建测试表。

   ```shell
   obclient > CREATE TABLE ces01 (d DATE);
   Query OK, 0 rows affected (0.132 sec)

   ```
 2. 插入测试数据。

   执行如下测试语句。

   ```shell
   obclient > INSERT INTO ces01 VALUES (TO_DATE('-2000-12-2','syyyy-mm-dd'));

   ```

   输出结果如下。

   ```shell
   ORA-01841: (full) year must be between -4713 and +9999, and not be 0

   ```

   执行如下测试语句。

   ```shell
   obclient > INSERT INTO ces01 VALUE (TO_DATE('-4000-12-2','syyyy-mm-dd'));

   ```

   输出结果如下。

   ```

   执行如下测试语句。

   ```shell
   obclient > INSERT INTO ces01 VALUES (TO_DATE('-0-12-2','syyyy-mm-dd'));

   ```

   输出结果如下。

   ```

Oracle 数据库可以通过负数以及 'SYYYY' 表示公元前的时间。

示例。

```shell
SQL> SELECT TO_DATE('-2024-02-01 00:00:00','SYYYY-MM-DD HH24:MI:SS') AS DATE_TIME_FRT FROM DUAL;

```

输出结果如下。

```shell
DATE_TIME_F
-----------
-2024-02-01

```

Oracle 数据库可以通过负数以及 ‘SYYYY ’ 表示公元前的时间，在 OceanBase 数据库目前版本中，尚不支持类似的公元前的时间表示。

## 适用版本

OceanBase 数据库 V2.X、V3.X、V4.0 版本。

Previous

[OceanBase 数据库 Oracle 模式的 date 与 time 类型介绍](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000040)

Next

[Oracle 模式使用浮点数数值数据类型](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000690997) ![有帮助](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) 咨询热线
