不使用空值的SQL日期筛选
日期筛选不起作用。如果我把所有的参数都取出来,它就不是空的,它工作得很好。如何让IS NOT NULLs和日期筛选一起工作,为什么会出现这种情况?您需要将不使用空值的SQL日期筛选,sql,sql-server,Sql,Sql Server,日期筛选不起作用。如果我把所有的参数都取出来,它就不是空的,它工作得很好。如何让IS NOT NULLs和日期筛选一起工作,为什么会出现这种情况?您需要将或条件用括号括起来: SELECT * FROM dbo.TABLE LEFT JOIN table_insp insp ON TABLE.FORM_NO = insp.FORM_no WHERE (O_NMBR IS NOT NULL) OR (O_DRCTN IS NOT NULL)
或条件用括号括起来:
SELECT
*
FROM
dbo.TABLE
LEFT JOIN
table_insp insp ON TABLE.FORM_NO = insp.FORM_no
WHERE
(O_NMBR IS NOT NULL)
OR (O_DRCTN IS NOT NULL)
OR (O_INCHES IS NOT NULL)
OR (o_comments IS NOT NULL)
AND insp.COMPLETED_DATE >= '10-01-2018'
我认为您需要做的就是添加括号,如:
SELECT * from dbo.TABLE
left join table_insp insp on TABLE.FORM_NO = insp.FORM_no
where ((O_NMBR is not null)
OR (O_DRCTN is not null)
or (O_INCHES is not null)
or (o_comments is not null))
and insp.COMPLETED_DATE >= '10-01-2018';
在或
条件周围需要括号。我还建议使用标准日期格式:
SELECT * from dbo.TABLE
left join table_insp insp on TABLE.FORM_NO = insp.FORM_no
where (
(O_NMBR is not null)
OR (O_DRCTN is not null)
or (O_INCHES is not null)
or (o_comments is not null)
)
and insp.COMPLETED_DATE >= '10-01-2018'
在或中添加()
where (O_NMBR is not null or O_DRCTN is not null or O_INCHES is not null or o_comments is not null
) and
insp.COMPLETED_DATE >= '2018-10-01'
SELECT * from dbo.TABLE
left join table_insp insp on TABLE.FORM_NO = insp.FORM_no
where (
(O_NMBR is not null)
OR (O_DRCTN is not null)
or (O_INCHES is not null)
or (o_comments is not null)
)
and insp.COMPLETED_DATE >= '10-01-2018'