2011-11-04 30 views
0

我想选择一个日期。如果是昨天或以后,我想在MySQL中添加一年。 我只得到了与SELECT语句的问题:SQL:DATE_ADD在select语句中的if语句内

SELECT orade.*, IF(orade.date < '$today', DATE_ADD(orade.date, INTERVAL 1 YEAR), orade.date) AS realDate 

$今天'2011-11-04'

+0

当你跑这个时发现了什么问题?错误?意外的结果? –

+0

从if语句的右括号末尾开始的语法错误 – einstein

回答

0

你的意思是CASE而不是IF?我不认为IF可以像你在MySQL中一样使用它。

SELECT orade.*, CASE WHEN orade.date < '$today' 
          THEN DATE_ADD(orade.date, INTERVAL 1 YEAR) 
        ELSE orade.date 
       END AS realDate 
+0

但是如果在select语句之前使用过,它应该可以工作 – einstein

+0

但是你的解决方案可以工作 – einstein

+0

它可能支持If,但是我从来没有像那样使用过它,只能这样使用http://dev.mysql.com/doc/refman/5.0/en/if-statement。 HTML。 –