這個讓我很生氣 - 我必須在這裏丟失一些非常簡單的東西,但一直在谷歌搜索2小時,並沒有得到任何好處。我使用Postgresql 9.5.1構建了一個Rails應用程序,該應用程序處理理髮師的約會。其中一列是可用的 - 如果約會可用於預訂 - 這是一個布爾值。我需要獲取給定約會ID的下5條記錄。查詢不返回布爾列設置爲FALSE的記錄?
select *
from appointments
where id > 13
and barber_id = 1
limit 5
這將返回5條記錄,但可用字段都是真的,即使記錄14-18隨着可用= FALSE屬性的存在。
如果我使用的查詢
select * from appointments where id > 13 and barber_id = 1 and (available = false) limit 5
然後可用= FALSE只返回的記錄,但我想匹配,無論真假的所有記錄。
我也曾嘗試
select * from appointments where id > 13 and barber_id = 1 and (available = false or available = true) limit 5
但是,這也只能返回可用= TRUE記錄。
把我的頭髮弄出來 - 我錯過了什麼?默認還是什麼?
只是'available = false'。還有另一種檢查布爾值的方法:'length(available :: text)<5';) – Abelisto