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