mysql - 计算明天是哪一天,如果是星期日则显示另外两天 - Mysql

标签 mysql date case

我正在尝试进行查询,其中一个字段显示明天计划的订单表的单位,但如果明天是星期日,则应该是星期一。

我有表格顺序和表格格式。

订单表: 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/

相关文章:

php - Laravel:查询生成器连接多表

php读取文件用于mysql导入

php - 无法从 WordPress 的 WAMP 旧安装(数据库)导入/复制数据库

java - 解析带有可变空格的日期

java - 日期选择器前一天的第一天和最后一天

ios - DateFormatter 不返回 "HH:mm:ss"的日期

MYSQL - 最近 10 天的 SUM 值

sql-server - 基于两列对行进行分组并包括聚合列

mysql - 在 MySQL select 语句中将值从 1 更改为 Yes

php - 使用阿拉伯语内容对 CSV 文件进行编码