首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于标志字的表的SQL更新?

问基于标志字的表的SQL更新?
EN

Stack Overflow用户
提问于 2011-06-25 10:42:15
回答 1查看 80关注 0票数 1

我的数据库中有一个字段,它是以每行为单位的任意值,我想在其中添加X。我只想在标志字(在此行中作为int保存)的第二位和第十位设置为真时才添加X。是否可以为表中的每一行创建一条SQL语句来执行此操作?或者我必须遍历整个表?

使用MySQL (5.5)

加分问题:我说根据一个标志添加X,但也有一个比例因子。例如,基于位20-12的值解释为一个短的无符号整数,我真的想赋值:

value = value + ('X' * thatShort * (bit2 and bit10));

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-25 11:01:11

在MS SQL中:

代码语言:javascript
复制
update MyTable
set Field1 = Field1 + 'X'
where Field2 & 0x202 = 0x202

编辑

代码语言:javascript
复制
value = value (X * (field & 0x1FF800 >> 12) * 0x202)

0x1FF800 -是从12到20的掩码。

>> 11 -将其移位以删除从0到12的位。

由于您是通过bit2和bit10集合进行过滤,因此(bit2 and bit10) = 0x202

希望这能回答你的问题。不过,我不确定您将如何授予“奖励积分”:)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6475458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档