MySQL 使用 IF 语句

标签 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?

最佳答案

因为它不是选择的一部分

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

应该可以工作

(从间隔中删除引号)

关于MySQL 使用 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6244701/

相关文章:

php - 回复 : whats-the-best-approach-should-i-adopt-for-this-php-problem

php - 如何在 PHP 中使用 MySQL 获取单个单元格?

java.sql.SQLException : An undefined column name was detected.( hibernate )

java - 无法在 onSingleClick 中使用 if 语句?双击时还需要 PDF 加载器

string - 如何检查字符串是否包含 dart 中的主题标签?

php - 如何更喜欢前缀而不是一般的 "like"结果?

php - SQL 计数查询返回预设为 1 的行数而不是实际行数

mysql - 简单的 MySQL 查询 - 更改表格式

sql - Mysql更新记录

Mysql触发器在2个表中进行计算?