在我的MySql查询中,我需要检查以下内容:
... WHERE DATE_ADD(IF(Date1>Date2, Date1, Date2), INTERVAL 3 DAY)<CURDATE()
但显然这不起作用,这种情况总是因为我不知道的某些原因而返回。 我究竟做错了什么?是不是可以在DATE_ADD函数中使用IF?
答案 0 :(得分:1)
或者在没有函数DATE_ADD
WHERE (IF(Date1 > Date2, Date1, Date2) + INTERVAL 3 DAY) < CURDATE()
演示选择
答案 1 :(得分:0)
可以使用例如:
的情况 where (case when Date1>Date2 then DATE_ADD( Date1, INTERVAL 3 DAY)
else DATE_ADD( Date2, INTERVAL 3 DAY) END) < <CURDATE()
或使用if
WHERE IF(Date1>Date2, DATE_ADD( Date1, INTERVAL 3 DAY) , DATE_ADD( Date2, INTERVAL 3 DAY))<CURDATE()
答案 2 :(得分:0)
好吧,我尝试以下
set @b = date'2017/5/1';
设置@a = date&#39; 2018/5/1&#39 ;; 选择date_add(if(@ a&gt; @b,@ a,@ b),间隔3天)&lt; curdate()as u;
答案是0;我在改变后再试一次
设置@a = date&#39; 2018/1/1&#39;;
,答案是1,一切都是你想要的。
你的&#34; Date1&#34;的范围是什么?和&#34;日期2&#34;?