下面是iam面对该问题的大型查询的一部分。
SELECT metricname,careertrackid
FROM atp_9375_forecast
WHERE ibfcollectionid = vspforecasts.ibfid
AND atp_9375_forecast.atpclclg = atp_9375_cl.careerlevelcode
AND (YEAR>= 2018 AND MONTH>=7)
我面临的问题在第二个AND子句中。 MONTH列有时为NULL,因此查询未返回正确的结果。
我需要处理MONTH子句中的NULL值。
我打破了AND条件,并尝试了如下所示的操作,但这没有用。
AND YEAR>= 2018
AND MONTH is not null
AND Month>=7
答案 0 :(得分:1)
此逻辑:
WHERE . . . AND
(YEAR >= 2018 AND MONTH >= 7)
等效于:
WHERE . . . AND
(YEAR >= 2018 AND MONTH >= 7 AND MONTH IS NOT NULL)
如果要包含NULL
个月,则:
WHERE . . . AND
(YEAR >= 2018 AND (MONTH >= 7 OR MONTH IS NOT NULL))