CURRENT_TIMESTAMP函数精度

比眉伴天荒 2023-02-24 08:34 36阅读 0赞
  1. 这段时间在做数据库兼容的测试,把mysql迁移道达梦数据库,然后又从达梦迁移到oracle数据库,搞得头都大了。。。。在迁移的过程中遇到一个时间类型问题:

mysql的timestamp字段默认值设置为current_timestamp类型,这个类型在这个数据库之间迁移,报了精度超出范围,查看了阿里的OceanBase的current_timestamp函数详解,对精度的解释如下,参考着能够解决这个问题,记录如下:

CURRENT_TIMESTAMP 函数返回 TIMESTAMP WITH TIME ZONE 数据类型的当前会话时区中的当前日期,返回值中包含当前的时区信息。

语法:

  1. CURRENT_TIMESTAMP (precision

参数:














参数 说明
precision 表示秒小数位的精度,默认值为 6,取值范围 0~9。

返回类型:

包含当前的时区信息的 TIMESTAMP WITH TIME ZONE 数据类型。

示例

此示例显示了不同会话时区使用 CURRENT_TIMESTAMP 函数所得的结果。

设置当前时区至 GMT-5 时区:

  1. ALTER SESSION SET TIME_ZONE = '-05:00';

执行以下语句调用函数:

  1. SELECT CURRENT_TIMESTAMP FROM DUAL;

查询结果如下:

  1. +------------------------------------+
  2. | CURRENT_TIMESTAMP |
  3. +------------------------------------+
  4. | 2020-03-08 01:49:31.219066 -05:00 |
  5. +------------------------------------+

切换当前时区至 GMT+8 时区,且调整秒的小数位精度为 3:

  1. ALTER SESSION SET TIME_ZONE = '+08:00';

执行以下语句调用函数:

  1. SELECT CURRENT_TIMESTAMP(3) FROM DUAL;

查询结果如下:

  1. +---------------------------------+
  2. | CURRENT_TIMESTAMP(3) |
  3. +---------------------------------+
  4. | 2020-03-08 14:50:32.499 +08:00 |
  5. +---------------------------------+

发表评论

表情:
评论列表 (有 0 条评论,36人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CURRENT_TIMESTAMP函数精度

           这段时间在做数据库兼容的测试,把mysql迁移道达梦数据库,然后又从达梦迁移到oracle数据库,搞得头都大了。。。。在迁移的过程中遇到一个时间类型问题: my