看來在PostgreSQL中,empty_field != 1
(或其他值)是FALSE。如果這是真的,有人可以告訴我如何比較空的領域?Postgresql和一個空字段比較
我有下面的查詢,翻譯過來就是「選擇用戶組中的所有職位,其中一個尚未投票:
SELECT p.id, p.body, p.author_id, p.created_at
FROM posts p
LEFT OUTER JOIN votes v ON v.post_id = p.id
WHERE p.group_id = 1
AND v.user_id != 1
,它什麼也不輸出,即使票表是空的可能有什麼毛病我的查詢,而不是與上述
編輯邏輯:似乎改變v.user_id != 1
,以v.user_id IS DISTINCT FROM 1
,做的工作 和PostgreSQL文檔:
對於非空輸入,IS DISTINCT從 與<>運算符相同。 但是,當兩個輸入都爲空時,它將返回false,並且只有一個 輸入爲空時,它將返回true。
可能與各種其他問題重複,例如http://stackoverflow.com/q/1833949/141081,http://stackoverflow.com/q/3777230/141081,... – Dirk 2010-11-08 18:40:41