MySQL使用IF语句

时间:2011-06-05 17:52:08

标签: mysql sql if-statement

我有一个包含订阅值的表,并希望计算订阅到期的时间。

我使用以下声明:

SELECT contractType, paymentReceivedOn FROM payments WHERE id=21
AND IF (contractType = 'abo3', ADDDATE(paymentReceivedOn, 'INTERVAL 3 MONTH') AS expiryDate, 0)

如果我遗漏AS expiryDate部分,我的上述陈述有效,但是,我似乎无法从ADDDATE的计算中得到结果。

如何调整查询以便根据paymentReceivedOn + 3个月给出expiryDate?

1 个答案:

答案 0 :(得分:1)

因为它不是选择的一部分

    SELECT contractType, paymentReceivedOn,
IF (contractType = 'abo3', ADDDATE(paymentReceivedOn, INTERVAL 3 MONTH), NULL)  
AS expiryDate FROM payments WHERE id=21

应该可以正常工作

(从间隔周围删除引号)