Flø*_*tti 2 mysql if-statement where-clause
如果在where语句中我试图获取datetime大于NOW()的所有行,但是如果type ='economy',我想限制它只显示datetime和NOW()之间的datediff是否更大超过14天.
就像是:
Select type,date(datetime) as date
from tbl1
where datetime > NOW()
IF(type = 'economy') && datediff(datetime,NOW()) > 14
order by datetime desc
Run Code Online (Sandbox Code Playgroud)
我也曾尝试过案例,但无法弄清楚......
Jay*_*ymz 10
您可以将标准分为两种不同的比较:
select type,date(datetime) as date
from tbl1
where (datetime > NOW() AND type <> 'economy') OR
(datediff(datetime, NOW()) > 14 AND type = 'economy')
order by datetime desc
Run Code Online (Sandbox Code Playgroud)
(没有检查语法错误,但这个想法应该是正确的...)