2011-11-04 50 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。 –