暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

查询中使用时间函数

SQL新手 2022-12-08
340

MySQL 租户常用的时间类型有 DATE、TIMESTAMP、 TIME、DATETIME、YEAR 等,在 OceanBase 数据库中,常用的时间函数包括 NOW()、CURDATE() 和 CURTIME() 等。

本文通过具体示例介绍如何在查询中使用时间函数。

示例 1:调整时间类型显示的格式

在 OceanBase 数据库中,可以使用 DATE_FORMAT 函数调整时间类型显示的格式,SQL 语句示例如下:

obclient> SELECT NOW(),DATE_FORMAT(NOW(),"%Y/%M/%D %T") new_time;
+---------------------+-------------------------+
| NOW()               | new_time                |
+---------------------+-------------------------+
| 2022-03-08 18:26:31 | 2022/March/8th 18:26:31 |
+---------------------+-------------------------+
1 row in set

示例 2:提取时间中的年、月、日、时、分、秒

在 OceanBase 数据库中,可以使用 EXTRACT() 函数从时间中提取年、月、日、时、分、秒信息,SQL 语句示例如下:

obclient> SET @dt = NOW();
Query OK, 0 rows affected

obclient> SELECT @dt
    , EXTRACT(YEAR FROM @dt)    d_year
    , EXTRACT(MONTH FROM @dt)   d_month
    , EXTRACT(week FROM @dt)    d_week
    , EXTRACT(DAY FROM @dt)     d_day
    , EXTRACT(HOUR FROM @dt)    d_hour
    , EXTRACT(MINUTE FROM @dt)  d_min
    , EXTRACT(SECOND FROM @dt)  d_second
    , EXTRACT(year_month FROM @dt)  d_year_month
    , EXTRACT(hour_minute FROM @dt) d_hour_min
\G

*************************** 1. row ***************************
         @dt: 2022-03-08 18:28:53
      d_year: 2022
     d_month: 3
      d_week: 10
       d_day: 8
      d_hour: 18
       d_min: 28
    d_second: 53
d_year_month: 202203
  d_hour_min: 1828
1 row in set

示例 3:时间类型的加减运算

在 OceanBase 数据库中,可以使用 DATE_ADD() 或 DATE_SUB() 函数对时间进行加减,SQL 语句示例如下:

obclient> SET @dt = NOW();
Query OK, 0 rows affected

obclient> SELECT @dt
    , DATE_ADD(@dt, INTERVAL 1 DAY )        t1
    , DATE_ADD(@dt, INTERVAL 1 HOUR )       t2
    , DATE_ADD(@dt, INTERVAL -10 MINUTE )   t3
    , DATE_ADD(@dt, INTERVAL -1 MONTH )     t4
    , DATE_ADD(@dt, INTERVAL 1 YEAR )       t5
\G

*************************** 1. row ***************************
@dt: 2022-03-08 18:28:53
 t1: 2022-03-09 18:28:53
 t2: 2022-03-08 19:28:53
 t3: 2022-03-08 18:18:53
 t4: 2022-02-08 18:28:53
 t5: 2023-03-08 18:28:53
1 row in set

有关更多时间类型用法,请参考 日期时间类型概述

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论