2017-02-16 28 views
0

真的很难解释,但在这里不用SQL只有在检查列其不为空

我有检查多个字段的查询,但在其中的一个我MakeCall函数需要的,如果其为null,以显示它,但如果它不为空然后我需要检查日期=今天,如果它是显示,如果它不是。

这是我到目前为止有:

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 

的 “吗?如果MakeCall函数IS NOT NULL又在哪里ITS =今天”是它会去

+2

建议的东西像... AND(MakeCall函数为空或MakeCall函数=今天)... – jarlh

+0

完美的,不能相信我没想到的像那样简单 –

回答

1
AND (MakeCall IS NULL OR MakeCall = today) 

正如jarlh