我正在尝试在SQL Server中执行按位NOT。我想做这样的事情:
update foo
set Sync = NOT @IsNew
注意:我开始写这篇文章,然后在完成之前找到了自己问题的答案。我仍然想与社区分享,因为MSDN上缺少此文档(直到我也将其添加到社区内容中)。
我正在尝试在SQL Server中执行按位NOT。我想做这样的事情:
update foo
set Sync = NOT @IsNew
注意:我开始写这篇文章,然后在完成之前找到了自己问题的答案。我仍然想与社区分享,因为MSDN上缺少此文档(直到我也将其添加到社区内容中)。
Answers:
是的,〜运算符将起作用。
update foo
set Sync = ~@IsNew
缺少MSDN吗? http://msdn.microsoft.com/zh-CN/library/ms173468(SQL.90).aspx
〜:对整数值执行按位逻辑非运算。〜按位运算符对表达式执行按位逻辑非,依次取每一位。如果expression的值为0,则结果集中的位设置为1;否则,结果设置为0。否则,结果中的位将被清除为0值。换句话说,将1更改为零,将0更改为1。