MySQL 租户常用的时间类型有 date、timestamp、 time、datetime、year 等,更多时间类型用法,请参考《OceanBase SQL参考(MySQL模式)》。

    MySQL 租户常用的取数据库时间函数是 now() ,curdate() 和 curtime() 。

    • 示例:格式化时间显示

      MySQL 租户调整时间类型显示的格式,可以用date_format 函数,SQL 如下:

    1. obclient> select now(), date_format(now(), "%Y/%m/%d %T") new_time ;
    2. +---------------------+---------------------+
    3. | now() | new_time |
    4. +---------------------+---------------------+
    5. | 2020-04-03 15:55:37 | 2020/04/03 15:55:37 |
    6. +---------------------+---------------------+
    7. 1 row in set (0.00 sec)
    • 示例:提取时间中的年/月/日/时/分/秒

      MySQL 租户从时间中提取年/月/日/时/分/秒,可以用 extract 函数,SQL如下:

    1. obclient> SET @dt = now();
    2. obclient> SELECT @dt
    3. , extract(YEAR FROM @dt) d_year
    4. , extract(MONTH FROM @dt) d_month
    5. , extract(week FROM @dt) d_week
    6. , extract(DAY FROM @dt) d_day
    7. , extract(HOUR FROM @dt) d_hour
    8. , extract(MINUTE FROM @dt) d_min
    9. , extract(SECOND FROM @dt) d_second
    10. , extract(year_month FROM @dt) d_year_month
    11. , extract(hour_minute FROM @dt) d_hour_min
    12. \G
    13. *************************** 1. row ***************************
    14. @dt: 2020-03-27 18:00:52
    15. d_year: 2020
    16. d_month: 3
    17. d_week: 12
    18. d_day: 27
    19. d_hour: 18
    20. d_min: 0
    21. d_second: 52
    22. d_year_month: 202003
    23. d_hour_min: 1800
    24. 1 row in set (0.00 sec)
    • 示例:时间类型加减

      MySQL 租户对时间进行加减,可以使用 date_add 或 date_sub 函数,SQL 如下:

    1. obclient> SET @dt = now();
    2. obclient> SELECT @dt
    3. , date_add(@dt, INTERVAL 1 DAY ) t1
    4. , date_add(@dt, INTERVAL 1 HOUR ) t2
    5. , date_add(@dt, INTERVAL -10 MINUTE ) t3
    6. , date_add(@dt, INTERVAL -1 MONTH ) t4
    7. , date_sub(@dt, INTERVAL 1 YEAR ) t5
    8. \G
    9. *************************** 1. row ***************************
    10. @dt: 2020-03-27 18:03:44
    11. t1: 2020-03-28 18:03:44
    12. t2: 2020-03-27 19:03:44
    13. t3: 2020-03-27 17:53:44
    14. t4: 2020-02-27 18:03:44
    15. t5: 2019-03-27 18:03:44
    16. 1 row in set (0.01 sec)