PostgresQL,只包含非空值

时间:2016-10-14 15:14:54

标签: sql postgresql

我试图输出一个查询,其中如果以下列中的任何一行包含NULL值(或者当前工作表不包含空字符串),则输出结果,但它仍然输出带有空值的结果。我做错了什么?

select * 
FROM   public._http_requests 
WHERE  ((_http_requests.currentsheet IS NOT NULL OR _http_requests.currentsheet != '') 
   OR _http_requests.session_id IS NOT NULL 
   OR _http_requests.http_referer IS NOT NULL)

1 个答案:

答案 0 :(得分:0)

OR替换为AND,以确保where子句中的所有列都没有任何NULL

SELECT *
FROM   PUBLIC._http_requests
WHERE  (_http_requests.currentsheet IS NOT NULL OR _http_requests.currentsheet != '')
       AND _http_requests.session_id IS NOT NULL
       AND _http_requests.http_referer IS NOT NULL