2013-04-22 113 views

回答

12

無論你做了什麼,布爾null不等於false,任何超過數字null等於零。

嘗試:

Cast(col1 as integer) 

如果你真的想要把null作爲假,則:

case when col1 then 1 else 0 end 

這將是一件壞事,雖然

+0

是的,當然;只有我的模型邏輯將最終的空值視爲假。順便說一句,cast函數和col1 :: int之間有區別嗎? – 2013-04-22 08:36:28

+0

「CAST語法符合SQL;具有::的語法是歷史PostgreSQL用法」http://www.postgresql.org/docs/9.2/static/sql-expressions.html – 2013-04-22 08:40:03

+0

@mpapec這將是一個遺憾的問題,並考慮你是如何進入這種狀態的。現在可能是空值完全合適,當然這是另一回事。以我的觀點來看,就是那個空虛假 – 2013-04-23 08:10:45