问题描述
我有一个 datetime 字段,希望在上午 11 点之前获取所有条目。适用于在线商店,您可以在上午 11:00 之前订购,并在当天发货。
SELECT *
FROM Tablename
WHERE (order.date_added < STR_TO_DATE(YEAR(),MONTH(),DAY()'%Y %d,%M'),'11:00:00')
不幸的是,我不知道如何组合这个语句。
解决方法
如果您想在今天上午 11:00 之前下单,您可以使用:
df['year']
,
这会为您提供当前日期 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
| date_added | | :------------------ | | 2021-07-08 06:40:50 |
SELECT CurDATE() + INTERVAL 11 HOUR
| CurDATE() + INTERVAL 11 HOUR | | :---------------------------- | | 2021-07-08 11:00:00 |
dbfiddle here