加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – T-SQL中的位翻转操作

发布时间:2020-12-12 16:25:49 所属栏目:MsSql教程 来源:网络整理
导读:我的数据库中有一个bitmasked int字段.通常我通过C#代码管理它,但现在我需要使用T-SQL在掩码中翻转一下 我如何完成以下任务: The bit I want to flip: 1 8 (256) The mask value before I flip: 143 The mask value after I flip: 399 这可以在没有T-SQL中缺
我的数据库中有一个bitmasked int字段.通常我通过C#代码管理它,但现在我需要使用T-SQL在掩码中翻转一下

我如何完成以下任务:

The bit I want to flip: 1 << 8 (256)

The mask value before I flip: 143

The mask value after I flip: 399

这可以在没有T-SQL中缺少的位运算符的情况下完成,对吧?

解决方法

使用异或:
SELECT value ^ 256

所以在你的情况下,SELECT 143 ^ 256确实会返回399.如果你想传入指数:

SELECT value ^ POWER(2,power)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读