什么是运算符|在SQL及其工作原理

时间:2019-02-22 16:10:26

标签: tsql sql-server-2008

我想知道以下情况如何工作:

where x1 | x2 | x3 | x4 is not null

列x1,x2,x3,x4可为空 是吗?

where x1 is not null or  x2 is not null or   x3 is not null or x4 is not null

1 个答案:

答案 0 :(得分:2)

这是按位或。您find details here

尝试一下:

DECLARE @int1 INT=0xFF00; --        => 65280
DECLARE @int2 INT=0x000F; --        =>    15
DECLARE @int3 INT=@int1 | @int2; -- => 65295 

SELECT @int1,@int2,@int3,
       CAST(@int3 AS BINARY(2));--  => 0xFF0F

您可以看到@int1@int2的位掩码已合并到0xFF0F

这可用于检查或设置特殊位或一组位。