我有一个包含订阅值的表,希望计算订阅过期的时间。
我使用以下语句:

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

但是,如果我省略了AS expiryDate部分,那么我的上述语句就可以工作了,那么我似乎无法从ADDDATE out的计算中得到结果。
如何调整我的查询,使其根据paymentReceivedOn+3个月给出到期日期?

最佳答案

因为这不属于我们的选择

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

可能有用
(从间隔中删除引号)

10-06 05:25