更新时间:2024-12-04 GMT+08:00
分享

日期与时间数据类型

表1 日期与时间数据类型

MySQL数据库

GaussDB数据库

差异

DATE

支持,存在差异

GaussDB支持date数据类型,与MySQL相比规格上存在如下差异:

反斜杠\在MySQL和GaussDB中都视为转义,但MySQL支持\0,GaussDB暂不支持,因此反斜杠作为分隔符且分隔符后为字符0时GaussDB会报错。

DATETIME[(fsp)]

支持,存在差异

GaussDB支持datetime数据类型,与MySQL相比规格上存在如下差异:

反斜杠\在MySQL和GaussDB中都视为转义,但MySQL支持\0,GaussDB暂不支持,因此反斜杠作为分隔符且分隔符后为字符0时GaussDB会报错。

TIMESTAMP[(fsp)]

支持,存在差异

GaussDB支持timestamp数据类型,与MySQL相比规格上存在如下差异:

  • 反斜杠\在MySQL和GaussDB中都视为转义,但MySQL支持\0,GaussDB暂不支持,因此反斜杠作为分隔符且分隔符后为字符0时GaussDB会报错。
  • MySQL 5.7中timestamp列默认有default value,为数据插入时的实时时间。GaussDB与MySQL 8.0一致,均不设置默认值,即插入null时,值为null。

TIME[(fsp)]

支持,存在差异

GaussDB支持time数据类型,与MySQL相比规格上存在如下差异:

  • 反斜杠\在MySQL和GaussDB中都视为转义,但MySQL支持\0,GaussDB暂不支持,因此反斜杠作为分隔符且分隔符后为字符0时GaussDB会报错。
  • 当时间类型的时、分、秒、纳秒为0时,GaussDB和MySQL可能存在符号位不同的情况。

YEAR[(4)]

支持

-

  • GaussDB不支持ODBC语法的字面量:

    { d 'str' }

    { t 'str' }

    { ts 'str' }

  • GaussDB支持标准SQL字面量,且类型关键字后面可选择添加精度,MySQL不支持:

    DATE[(n)] 'str'

    TIME[(n)] 'str'

    TIMESTAMP[(n)] 'str'

  • 当给DATETIME、TIME、TIMESTAMP数据类型指定的精度超过其支持的最大精度时,GaussDB会将精度截断成支持的最大精度,MySQL则会报错。

相关文档