1

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

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

但我得到的结果是BLOB!!

如何DATEDIFFIF语句中使用并获得有意义的结果。

谢谢你们

4

2 回答 2

1

你可能误解了 if 函数

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

效果很好

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

于 2012-08-05T12:14:07.473 回答
0

据我了解,该if声明的工作方式如下:

select if(expr, true, false)

此外,DATEDIFF返回一个 int 而不是日期,因此您需要获取的返回值DATADIFF并将其与已知天数或 0 或另一个DATEDIFF操作的返回进行比较。

select if(datediff(date1, date2) >= 20, 'true statement', 'false statement')
于 2012-08-05T12:18:56.370 回答