在IF子句中使用DATEDIFF的MySql

在IF子句中使用DATEDIFF的MySql,mysql,if-statement,datediff,Mysql,If Statement,Datediff,我尝试在IF子句中使用DATEDIFF函数,如下所示: select if('2006-04-01',DATEDIFF('2006-04-01','2007-04-01'),'y'); 但是我得到的结果是BLOB 如何在IF语句中使用DATEDIFF,并获得有意义的结果 谢谢大家您可能会误解if功能 select if( datediff('2006-04-01','2012-01-01') > 0, 1, 0 ); 效果很好 在我的例子mysql 5.5.24中,datediff的结

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

select if('2006-04-01',DATEDIFF('2006-04-01','2007-04-01'),'y');
但是我得到的结果是
BLOB

如何在
IF
语句中使用
DATEDIFF
,并获得有意义的结果


谢谢大家

您可能会误解if功能

select if( datediff('2006-04-01','2012-01-01') > 0, 1, 0 );
效果很好


在我的例子mysql 5.5.24中,datediff的结果是一个整数

您可能会误解if函数

select if( datediff('2006-04-01','2012-01-01') > 0, 1, 0 );
效果很好


在我的例子mysql 5.5.24中,datediff的结果是一个整数

据我所知,
if
语句的工作原理如下:

select if(expr, true, false)
另外,
DATEDIFF
返回一个int而不是日期,因此您希望获取
DATADIFF
的返回值,并将其与已知的天数或0进行比较,或者与另一个
DATEDIFF
操作的返回进行比较

select if(datediff(date1, date2) >= 20, 'true statement', 'false statement')

据我所知,
if
语句的工作原理如下:

select if(expr, true, false)
另外,
DATEDIFF
返回一个int而不是日期,因此您希望获取
DATADIFF
的返回值,并将其与已知的天数或0进行比较,或者与另一个
DATEDIFF
操作的返回进行比较

select if(datediff(date1, date2) >= 20, 'true statement', 'false statement')

您希望得到什么结果?您希望得到什么结果?我们可以在带有&&condition的同一if语句中检查多个条件吗?我们可以在带有&&condition的同一if语句中检查多个条件吗