我有一个表,其中包含10个与序列号关联的浮点值列。 可以在每列中输入或不输入值。 0 [零]和NULL不是有效值。 使用SQL SERVER 2012。
我的问题是: 如何检查给定的特定序列号,这些值都不是0或NULL,如果所有值都存在则返回True,否则返回False? 请给我一些建议。 谢谢
答案 0 :(得分:0)
超过你的努力值得,但我很好奇。强制转换为1或0并且必须强制转换为int才能添加。
declare @T table (int1 int, int2 int);
insert into @T values (null, null), (null, 0), (0, null), (null, 1), (10, null), (0, 0)
, (1, 0), (1, 10), (10, 0), (10, 10), (-2, -2);
with cte as
( select int1, cast(cast(isnull(int1, 0) as bit) as int) tf1
, int2, cast(cast(isnull(int2, 0) as bit) as int) tf2
from @T
)
select cte.int1, cte.int2
, iif(tf1 + tf2 = 2, 1, 0) as rr
from cte;