什么是以下的规范表达式:
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()
是ansi SQL。所以SELECT (foo, false)
会给foo或false。
如果使用规范意味着标准化方式,而不是依赖于 DBMS/供应商,则使用 CASE WHEN。
很ANSI
简单:
SELECT CASE WHEN (foo is null)
THEN false
ELSE foo
END
AS YourStuff
...
或Coalesce
如其他答案所述。
他们的表现是一样的:Coalesce vs Case