使用 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 点之前的主要内容,如果未能解决你的问题,请参考以下文章

每天使用新数据刷新/更新/重新查询访问报告

快速多选 MySQL 和 PHP

只在oracle中插入时间[关闭]

专业实习日志11

mysql如何查询某个datetime字段的范围是一个小时范围以内的记录,比如查询今天上午八点到九

每个时段的 MySQL 查询小计,小时从当天下午 2 点到第二天下午 2 点