我正在尝试在IF子句中使用DATEDIFF函数,如下所示:
select if('2006-04-01',DATEDIFF('2006-04-01','2007-04-01'),'y');
但我得到的结果是BLOB
!!
如何在DATEDIFF
声明中使用IF
并获得有意义的结果。
谢谢大家
答案 0 :(得分:1)
你可能会误解if函数
select if( datediff('2006-04-01','2012-01-01') > 0, 1, 0 );
效果很好
我的案例mysql 5.5.24中的datediff的结果是一个整数。
答案 1 :(得分:0)
据我所知,if
语句的工作原理如下:
select if(expr, true, false)
此外,DATEDIFF
返回一个int而不是一个日期,因此您需要获取DATADIFF
的返回值并将其与已知天数或0或者另一个的返回值进行比较DATEDIFF
操作。
select if(datediff(date1, date2) >= 20, 'true statement', 'false statement')