---
title: OceanBase 数据库 date 及 datetime 类型 cast 结果和 MySQL 不一致释疑-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OceanBase 数据库 date 及 datetime 类型 cast 结果和 MySQL 不一致释疑相关的常见问题和使用技巧，帮助您快速解决 OceanBase 数据库 date 及 datetime 类型 cast 结果和 MySQL 不一致释疑的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# OceanBase 数据库 date 及 datetime 类型 cast 结果和 MySQL 不一致释疑

更新时间：2025-05-23 06:41

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

## 问题现象

OceanBase 的 `cast('2020-10-01 上午12:00:00' as datetime)` 结果与 mysql 不一致。

OceanBase 表现： ![image01](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20250519explanation-inconsistency-between-ob-date-datetime-type-cast-results-mysql01.png)

MySQL 表现：

![image02](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20250519explanation-inconsistency-between-ob-date-datetime-type-cast-results-mysql02.png)

## 问题原因

本质上是字符串解析逻辑不同导致的，MySQL 遇到非法字符就停了，OceanBase 会继续解析，`cast(‘2020-10-01 上午12:00:00’ as datetime)` 这种写法本来就有问题，OceanBase 解析能力更强给解析出来了。

## 适用版本

OceanBase 数据库 V4.x 版本。

## 解决方法

如果不希望要后面的时间，建议直接就写成 0，不要利用一个错误把后面的时间截断掉。

上一篇

[Oracle 模式 TO_NUMBER() 执行报错 ORA-01722](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000532680)

下一篇

[OceanBase 数据库带有空格和换行符的字符串处理和 Oracle 数据库不兼容](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000933764) ![有帮助](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) 咨询热线
