次の正規表現は何ですか。
NULL -> false
false -> false
true -> true
私が使用しているのは次のとおりです。
select (foo is not null and foo)
これはうまくいくようですが、これには標準的な慣習があるかどうか疑問に思っています。
次の正規表現は何ですか。
NULL -> false
false -> false
true -> true
私が使用しているのは次のとおりです。
select (foo is not null and foo)
これはうまくいくようですが、これには標準的な慣習があるかどうか疑問に思っています。
select coalesce(foo, false) from table
調べたところです。COALESCE()
ansiSQLです。したがってSELECT (foo, false)
、fooまたはfalseを指定します。
canonicalで、DBMS /ベンダーに依存するのではなく、標準化された方法を意味する場合は、CASEWHENを使用します。
それはANSI
、そして簡単です:
SELECT CASE WHEN (foo is null)
THEN false
ELSE foo
END
AS YourStuff
...
またはCoalesce
他の回答で述べられているように。
それらのパフォーマンスは同じです:Coalesce vs Case