Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL如何查找某个位是否打开_Sql_Sql Server_Bit_Flags_Bitmask - Fatal编程技术网

SQL如何查找某个位是否打开

SQL如何查找某个位是否打开,sql,sql-server,bit,flags,bitmask,Sql,Sql Server,Bit,Flags,Bitmask,为什么这样不行? 我只是想知道从十进制到二进制的某个位是否是开/关的。 我肯定错过了一些非常基本的东西。^是运算符,而不是我想你期望的运算符。相反,您可以使用以下功能: Select '5th bit on' Where 16 & (2^(5-1)) > 0 谢谢你,穆雷尼克!我不知道在这里0是否是一个好的选择。你可能会突然碰到符号位,得到一个负数,但不是零。也许0是更安全的赌注。 Select '5th bit on' Where 16 & (POWER(2, (5-1

为什么这样不行? 我只是想知道从十进制到二进制的某个位是否是开/关的。 我肯定错过了一些非常基本的东西。

^
是运算符,而不是我想你期望的运算符。相反,您可以使用以下功能:

Select '5th bit on'
Where 16 & (2^(5-1)) > 0

谢谢你,穆雷尼克!我不知道在这里0是否是一个好的选择。你可能会突然碰到符号位,得到一个负数,但不是零。也许
0
是更安全的赌注。
Select '5th bit on'
Where 16 & (POWER(2, (5-1))) > 0