2013-04-22 1 views

答えて

12

どのような処理をしても、ブール値のNULLはfalseにはなりません。数値以上のヌル値は0になります。

試してください:あなたは本当にその後、偽としてnullを扱いたい場合

Cast(col1 as integer) 

case when col1 then 1 else 0 end 

それは悪いことでしょう

+0

けれどもはい、もちろん。それは私のモデルロジックが最終的なnullsをfalseとみなすことだけです。 Btw、キャスト関数とcol1 :: intの違いはありますか? –

+0

"CAST構文はSQLに準拠していますが、::はPostgreSQLの歴史的な使い方です" http://www.postgresql.org/docs/9.2/static/sql-expressions.html –

+0

@mpapecこれは後悔の対象になりますどのようにあなたがそのような状態になったのかを検討するために。今ではnullが完全に適切である可能性がありますが、これはもちろん別の問題です。私の言葉では、Null <> false –

関連する問題