MySql在IF子句中使用DATEDIFF

时间:2012-08-05 12:09:38

标签: mysql if-statement datediff

我正在尝试在IF子句中使用DATEDIFF函数,如下所示:

select if('2006-04-01',DATEDIFF('2006-04-01','2007-04-01'),'y');

但我得到的结果是BLOB !!

如何在DATEDIFF声明中使用IF并获得有意义的结果。

谢谢大家

2 个答案:

答案 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')