MySQL с использованием операторов IF - PullRequest
1 голос
/ 05 июня 2011

У меня есть таблица со значениями подписки, и я хочу рассчитать время истечения срока подписки.

Я использую следующее утверждение:

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 месяца?

1 Ответ

1 голос
/ 05 июня 2011

Поскольку это не является частью выбора

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

Должно, вероятно, работать

(удалены кавычки из интервала)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...