我的数据库中有一个字段,它是以每行为单位的任意值,我想在其中添加X。我只想在标志字(在此行中作为int保存)的第二位和第十位设置为真时才添加X。是否可以为表中的每一行创建一条SQL语句来执行此操作?或者我必须遍历整个表?
使用MySQL (5.5)
加分问题:我说根据一个标志添加X,但也有一个比例因子。例如,基于位20-12的值解释为一个短的无符号整数,我真的想赋值:
value = value + ('X' * thatShort * (bit2 and bit10));
发布于 2011-06-25 11:01:11
在MS SQL中:
update MyTable
set Field1 = Field1 + 'X'
where Field2 & 0x202 = 0x202编辑
value = value (X * (field & 0x1FF800 >> 12) * 0x202)0x1FF800 -是从12到20的掩码。
>> 11 -将其移位以删除从0到12的位。
由于您是通过bit2和bit10集合进行过滤,因此(bit2 and bit10) = 0x202
希望这能回答你的问题。不过,我不确定您将如何授予“奖励积分”:)。
https://stackoverflow.com/questions/6475458
复制相似问题