MySQL 如何使用INTERVAL()函数与表的列一起使用

MySQL 如何使用INTERVAL()函数与表的列一起使用

在MySQL中,INTERVAL()函数可以用来对时间进行加减。它的语法如下:

INTERVAL expr unit

其中,expr是一个数值表达式,unit是一个时间单位。常见的时间单位有:

  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

下面我们来看一个简单的例子:

SELECT NOW(), INTERVAL 1 HOUR;

查询结果如下:

NOW() INTERVAL 1 HOUR
2022-07-06 12:00:00 2022-07-06 13:00:00

我们可以发现,INTERVAL()函数将当前时间加上了1小时。

现在,假设我们有一张名为orders的表,其中有一个order_time列,表示订单的下单时间。我们想要查询出在过去24小时内下单的所有订单。怎么做呢?

我们可以使用如下的SQL语句:

SELECT *
FROM orders
WHERE order_time >= NOW() - INTERVAL 1 DAY;

这里,NOW()函数获取的是当前时间,INTERVAL 1 DAY表示过去一天,因此NOW() - INTERVAL 1 DAY得到的是24小时前的时间。

我们还可以将INTERVAL()函数与其他列一起使用,如下面的例子所示:

SELECT order_id, order_time, order_amount, 
  IF(order_amount > 100, 'expensive', 'cheap') AS order_label
FROM orders
WHERE order_time >= NOW() - INTERVAL 1 DAY;

这里,我们使用了一个IF函数,根据订单金额的大小,将订单标记为expensivecheap。注意到这里的NOW()INTERVAL()函数与order_time列一起使用,获取的是在过去24小时内下单的所有订单。

阅读更多:MySQL 教程

结论

在MySQL中,INTERVAL()函数可以用来对时间进行加减,可方便地查询指定时间段内的数据。同时,它还可以与表的其他列一起使用,让查询更加灵活多样。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程