以下是什么是规范表达式:
NULL -> false
false -> false
true -> true
我正在使用的是:
select (foo is not null and foo)
这似乎工作正常,但我想知道是否有一个标准惯例。
答案 0 :(得分:4)
select coalesce(foo, false) from table
答案 1 :(得分:1)
我只是查了一下。 COALESCE()
是ansi SQL。所以SELECT (foo, false)
会给foo或false。
答案 2 :(得分:1)
如果使用规范,则表示标准化方式,而非DBMS /供应商依赖,然后使用CASE WHEN。
ANSI
,简单:
SELECT CASE WHEN (foo is null)
THEN false
ELSE foo
END
AS YourStuff
...
或Coalesce
,如其他答案中所述。
他们的表现相同:Coalesce vs Case
答案 3 :(得分:0)