MySQL Select 从 NOW()-1 Day获取记录

MySQL Select 从 NOW()-1 Day获取记录

在MySQL中,使用NOW()函数可以获取当前日期和时间。如果需要从NOW()日期-1天获取某些记录,则可以使用DATE_SUB()函数和适当的日期格式。

阅读更多:MySQL 教程

语法

以下是从NOW()-1天选择记录的基本语法:

SELECT column_name(s)
FROM table_name
WHERE DATE_FORMAT(date_column_name,'%Y-%m-%d')=DATE_SUB(DATE_FORMAT(NOW(),'%Y-%m-%d'), INTERVAL 1 DAY);
SQL

示例

假设我们有一个名为“orders”的订单表,其中包含以下信息:

order_id customer_name order_time
1 John 2021-10-01 12:00:00
2 Lily 2021-10-02 16:00:00
3 Tom 2021-10-03 09:00:00
4 Nancy 2021-10-04 11:00:00
5 Jack 2021-10-05 10:00:00

如果我们要检索所有在昨天下单的订单记录,请使用以下查询:

SELECT order_id, customer_name, order_time
FROM orders
WHERE DATE_FORMAT(order_time,'%Y-%m-%d')=DATE_SUB(DATE_FORMAT(NOW(),'%Y-%m-%d'), INTERVAL 1 DAY);
SQL

该查询将返回以下记录:

order_id customer_name order_time
1 John 2021-10-01 12:00:00

此查询只检索了2021年10月1日下单的订单,因为我们使用了DATE_SUB()函数,该函数从NOW()日期减去1天,并将结果与日期列进行比较。

总结

可以使用DATE_SUB()函数从MySQL中选择从NOW()-1天获取记录。必须使用正确的日期格式进行比较,否则查询将不起作用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程