使用 MySQL 查询每天上午 11 点之前

Posted

技术标签:

【中文标题】使用 MySQL 查询每天上午 11 点之前【英文标题】:Query for daily before 11am with MySQL 【发布时间】:2021-09-19 00:21:26 【问题描述】:

我有一个 datetime 字段并希望在上午 11 点之前获取所有条目。它适用于在线商店,您可以在上午 11:00 之前订购,并且将在同一天发货。

SELECT * 
FROM Tablename 
WHERE (order.date_added < STR_TO_DATE(YEAR(), MONTH(), DAY()'%Y %d,%M'), '11:00:00')

很遗憾,我不知道如何组合这个语句。

【问题讨论】:

什么是filed,我没有看到任何涉及11:00:00的操作。 filed.date_added 【参考方案1】:

如果您想在今天上午 11:00 之前下单,,您可以使用:

where o.date_added >= curdate() and
      time(o.date_added) < '11:00:00'

【讨论】:

感谢您的回答正是我想要的。现在我可以再增加 5 分钟,让每个人都满意并得到他的订单。谢谢你的帮助。 SELECT * FROM order WHERE order.date_added &gt;= curdate() and time(order.date_added) &lt; '11:05:00'【参考方案2】:

这会为您提供当前 11 点的时间

CurDATE() + INTERVAL  11 HOUR

查询选择昨天 11 到今天 11 之间的所有订单。

您还应该添加标准以排除所有已下达的订单

CREATE tABLe orders (date_added DATETIME)
INSERT INTO orders VALUES (NOW() -INTERVAL 10 HOUR)
SELECT * 
FROM orders 
WHERE orders.date_added BETWEEN (CurDATE() - INTERVAL 1 DAY) + INTERVAL  11 HOUR AND  CurDATE() + INTERVAL  11 HOUR
|添加日期 | | :----------------- | | 2021-07-08 06:40:50 |
SELECT CurDATE() + INTERVAL  11 HOUR
| CurDATE() + 间隔 11 小时 | | :---------------------------- | | 2021-07-08 11:00:00 |

db小提琴here

【讨论】:

以上是关于使用 MySQL 查询每天上午 11 点之前的主要内容,如果未能解决你的问题,请参考以下文章