我有一个包含订阅值的表,并希望计算订阅到期的时间。
我使用以下声明:
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?
答案 0 :(得分:1)
因为它不是选择的一部分
SELECT contractType, paymentReceivedOn,
IF (contractType = 'abo3', ADDDATE(paymentReceivedOn, INTERVAL 3 MONTH), NULL)
AS expiryDate FROM payments WHERE id=21
应该可以正常工作
(从间隔周围删除引号)