Mysql SQL仅在列不为null时检查列

Mysql SQL仅在列不为null时检查列,mysql,sql,Mysql,Sql,真的很难解释,但这就是原因 我有一个查询,它检查许多字段,但是在其中一个字段上,如果它为null,我需要显示它,但是如果它不是null,那么我需要检查日期是否为=到今天,如果它是display,如果它不是not 以下是我到目前为止的情况: SELECT renewaldate, DATEDIFF(renewaldate, CURDATE()) AS DaysUntilRenewalDate, orders.*, customers.*

真的很难解释,但这就是原因

我有一个查询,它检查许多字段,但是在其中一个字段上,如果它为null,我需要显示它,但是如果它不是null,那么我需要检查日期是否为=到今天,如果它是display,如果它不是not

以下是我到目前为止的情况:

    SELECT
        renewaldate,
        DATEDIFF(renewaldate, CURDATE()) AS DaysUntilRenewalDate,
        orders.*, customers.*
    FROM
        orders
    JOIN customers ON orders.CustomerNumber = customers.CustomerNumber
    WHERE 
    RenewalDate < DATE_ADD(CURDATE(), INTERVAL 23 DAY)
    AND RenewalDate > DATE_SUB(CURDATE(), INTERVAL 4 DAY)
    AND IF MakeCall IS NOT NULL THEN WHERE ITS = TO TODAY?
    ORDER BY
        RenewalDate
选择
更新日期,
DATEDIFF(renewaldate,CURDATE())作为DaysUntilRenewalDate,
订单,顾客*
从…起
命令
根据订单加入客户。CustomerNumber=客户。CustomerNumber
哪里
更新日期日期(CURDATE(),间隔4天)
如果MakeCall不为NULL,那么它的=今天在哪里?
订购人
更新日期
“如果MakeCall不为NULL,那么它的=到今天的位置?”就是它的位置

AND (MakeCall IS NULL OR MakeCall = today)
按照


所示,类似于。。。(MakeCall为NULL或MakeCall=today)…太好了,真不敢相信我没有想到像这样简单的事情。。。(MakeCall为NULL或MakeCall=today)…太好了,真不敢相信我没有想到这么简单的事情