kil*_*man 2 sql sql-server sql-server-2008 sql-server-2008-r2
我的应用程序中的一些存储过程,使用如下WHERE
条件:
ISNULL(Status,0) & 128 = 0
Run Code Online (Sandbox Code Playgroud)
它究竟是什么意思或如何比较?isnull
条件我明白,但是单&
算什么目的,想知道。任何人都可以建议我吗?
以下条件:
ISNULL(Status,0) & 128 = 0
Run Code Online (Sandbox Code Playgroud)
评估Status
(=128)的第 8 位是否未设置。
使用&
运算符执行按位AND
计算两个值是否共享相同的位。
在上述情况下,您可以将其分解为:
Status
如果Status
是,则使用或 0的值NULL
AND
用 128按位这个值AND
返回,则返回 true 0
(因此该位未设置)顺便说一句,如果Status
设置了该位,这将返回128
而不是0
。
归档时间: |
|
查看次数: |
236 次 |
最近记录: |