Program Club

SQL Server에서 약간 뒤집는 방법은 무엇입니까?

proclub 2020. 11. 7. 10:39
반응형

SQL Server에서 약간 뒤집는 방법은 무엇입니까?


SQL Server에서 비트 NOT을 수행하려고합니다. 다음과 같이하고 싶습니다.

update foo
set Sync = NOT @IsNew

참고 : 나는 이것을 쓰기 시작했고 끝내기 전에 내 질문에 대한 답을 찾았습니다. 이 문서는 MSDN에 부족했기 때문에 여전히 커뮤니티와 공유하고 싶었습니다 (커뮤니티 콘텐츠에도 추가 할 때까지).


예, ~ 연산자가 작동합니다.

update foo
set Sync = ~@IsNew

비트 NOT : ~

비트 AND : &

비트 OR : |

비트 XOR : ^


MSDN이 부족하십니까? http://msdn.microsoft.com/en-us/library/ms173468(SQL.90).aspx

~ : 정수 값에 대해 비트 논리 NOT 연산을 수행합니다. ~ 비트 연산자는 식에 대해 비트 논리 NOT을 수행하여 각 비트를 차례로 사용합니다. expression의 값이 0이면 결과 집합의 비트가 1로 설정됩니다. 그렇지 않으면 결과의 비트가 0 값으로 지워집니다. 즉, 1은 0으로 변경되고 0은 1로 변경됩니다.


완전성을 위해 :

SELECT b, 1 - b
FROM
  (SELECT cast(1 AS BIT) AS b
   UNION ALL
   SELECT cast(0 AS BIT) AS b) sampletable

~ 연산자는 BIT에서만 작동합니다.

시도 : ~ CAST (@IsNew AS BIT)

참고 URL : https://stackoverflow.com/questions/171173/how-do-i-flip-a-bit-in-sql-server

반응형