在c#我有一个:
a = !a
Run Code Online (Sandbox Code Playgroud)
(如果为false则为true,如果为true则为false)
在SQL中我想用BIT变量做同样的事情
就像是:
declare @a bit
set @a = 1
select @a
set @a = not (@a)
select @a
Run Code Online (Sandbox Code Playgroud)
我可以吗?
我总是可以做一个IF,但这会"看起来更好":)
尝试使用按位而不是
〜按位运算符对表达式执行按位逻辑NOT,依次取每个位.如果expression的值为0,则结果集中的位设置为1; 否则,结果中的位被清除为值0.换句话说,将1更改为零,将零更改为1.
declare @a bit
set @a = 0
select @a
set @a = ~@a
select @a
Run Code Online (Sandbox Code Playgroud)
做到1
declare @a bit
set @a = 1
select @a
set @a = ~@a
select @a
Run Code Online (Sandbox Code Playgroud)