首页 > 解决方案 > 使用 NOT NULL 进行 SQL 日期过滤

问题描述

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' 

日期过滤不起作用。如果我取出所有的 IS NOT NULL,它工作正常。我如何让 IS NOT NULL 和日期过滤一起工作,为什么会这样?

标签: sqlsql-server

解决方案


加入()_OR

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'

推荐阅读