SQL什么是&;
我想知道操作员SQL什么是&;,sql,bit-manipulation,bitwise-operators,bitwise-and,Sql,Bit Manipulation,Bitwise Operators,Bitwise And,我想知道操作员和的功能。例如: SELECT (8 & 16) 在最后一个代码中,如果我将第二个值(16)更改为另一个值,如10,则结果会更改 我读过,但没有找到准确的答案 感谢您的帮助。在MS SQL Server中,它是一个AND运算符 如果任何位置的位均为1,则结果为1 1010 1010=170 0100 1011=75 0000 1010=10 选择170和75 返回10在大多数数据库中,&是按位AND运算符。它所做的是将其整数参数转换为它们的位表示形式,并将和运算符应用于每
和的功能。例如:
SELECT (8 & 16)
在最后一个代码中,如果我将第二个值(16
)更改为另一个值,如10
,则结果会更改
我读过,但没有找到准确的答案
感谢您的帮助。在MS SQL Server中,它是一个AND运算符
如果任何位置的位均为1,则结果为1
1010 1010=170
0100 1011=75
0000 1010=10
选择170和75
返回10在大多数数据库中,&
是按位AND运算符。它所做的是将其整数参数转换为它们的位表示形式,并将和
运算符应用于每个位(这相当于将每个位以整数形式相乘):
对于您的操作8和16
:
8
以二进制形式表示为1000
16
对应于10000
执行按位and运算:
01000
AND 10000
-----
00000 (0)
对于SQL Server,您可以在此处找到答案
&bitwise运算符在两个表达式之间执行按位逻辑AND运算,将两个表达式的每个对应位都取下来。当且仅当输入表达式中的两个位(用于正在解析的当前位)的值均为1时,结果中的位设置为1;否则,结果中的位设置为0
如果左表达式和右表达式具有不同的整数数据类型(例如,左表达式为smallint,右表达式为int),则较小数据类型的参数将转换为较大数据类型。在本例中,smallintexpression被转换为int
回到您的示例:
如果按位比较2个整数,将计算:
8 = 0 0 0 0 1 0 0 0
16 = 0 0 0 1 0 0 0 0
0 0 0 0=0
8 = 0 0 0 0 1 0 0 0
10 = 0 0 0 0 1 0 1 0
0 0 0 1 0 0=8
希望这会有所帮助。请用您正在使用的数据库标记您的问题:mysql、oracle、sql server…?您已经完成了吗?这回答了你的问题吗?杰出的谢谢你的帮助!