我正在尝试进行查询,其中一个字段显示明天计划的订单表的单位,但如果明天是星期日,则应该是星期一。
我有表格顺序和表格格式。
订单表: id_order、order_date、单位
格式表: id_format、format_type
我最初的查询是这样的:
SELECT format_type, units, DATE (NOW () + INTERVAL 1 DAY) as Tomorrow
FROM orders Join format on orders.id_format = format.id_format
WHERE DATE (date_delivery) = DATE (NOW () + INTERVAL 1 DAY)
但它必须是类似这样的东西:
SELECT format_type, units, DATE (NOW () + INTERVAL 1 DAY) as Tomorrow
FROM orders Join format on orders.id_format = format.id_format
WHERE (
CASE
WHEN DAYNAME (date) = "Sunday" THEN DATE (order_date) = DATE (NOW () + INTERVAL 2 DAY)
ELSE DATE (order_date) = DATE (NOW () + INTERVAL 1 DAY)
END;
_____编辑_____
这就是我想要的结果
SELECT format.format_type, units, DATE(NOW()) as TODAY
FROM orders Join format on orders.id_format = format.id_formatopeso
WHERE
CASE
WHEN WEEKDAY(now()) = 6 then DATE(order_date) = DATE(NOW() + INTERVAL 2 DAY)
ELSE DATE(order_date) = DATE(NOW() + INTERVAL 1 DAY)
END;
最佳答案
Yuu 可以简单地选择您所在位置的内容
SELECT format_type, units,
CASE
WHEN WEEKDAY(date) = 6
then DATE_ADD(curdate(), INTERVAL +2 DAY)
else DATE_ADD(curdate(), INTERVAL +1 DAY)
END as tomorrow_with_sunday_check,
DATE_ADD(curdate(), INTERVAL +1 DAY) as Tomorrow
FROM orders Join format on orders.id_format = format.id_format
关于mysql - 计算明天是哪一天,如果是星期日则显示另外两天 - Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47291815/