SQL Server 2005中是否有一个函数返回NULL [或布尔值]如果任何参数(任何类型)为NULL,这将使我免于编写{{1} }。
答案 0 :(得分:4)
这是一种适度不愉快的方式:
set ansi_nulls off
if (null in (a, b, c, d, e) print 'got a null'
set ansi_nulls on
答案 1 :(得分:1)
不,你得到的最接近的是NULLIF(),但这不是你想要的。我只是坚持在这里使用OR语句。
答案 2 :(得分:0)
由于NULLs传播,你可以这样做:
(cola + colb + colc) is null
假设所有兼容的数据类型
答案 3 :(得分:0)
怎么样......
SELECT
CASE WHEN NULLIF(ISNULL(@testA, 1), @testA)
+ NULLIF(ISNULL(@testB, 1), @testB)
+ NULLIF(ISNULL(@testC, 1), @testC) > 0
THEN 'Got NULL'
ELSE 'NO NULL'
END
答案 4 :(得分:0)
我不确定SQL Server,但是在类似的数据库中(我在这里使用的配置单元在语法上更接近于传统的DBMS)select isnull(concat(*)) from some_table;
将有助于检查是否有任何列是{{1 }}。
希望在SQL Server中有一些方法可以解决此概念,我的建议有助于有效解决问题。