Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否基于标志词对表进行SQL更新?_Sql - Fatal编程技术网

是否基于标志词对表进行SQL更新?

是否基于标志词对表进行SQL更新?,sql,Sql,在我的数据库中有一个字段,它是每行的任意值,我想给它加上X。我只想在标志字(在这一行中保持为int)的第2位和第10位设置为true时添加X。是否可以为表中的每一行创建SQL语句来执行此操作?还是必须遍历整个表 使用MySQL(5.5) 加分问题:我说根据一个标志添加X,但也有一个比例因子。例如,根据解释为短无符号整数的位20-12的值,我真的想分配: value=value+('X'*thatShort*(第2位和第10位)): update MyTable set Field1 = Fiel

在我的数据库中有一个字段,它是每行的任意值,我想给它加上X。我只想在标志字(在这一行中保持为int)的第2位和第10位设置为true时添加X。是否可以为表中的每一行创建SQL语句来执行此操作?还是必须遍历整个表

使用MySQL(5.5)

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

value=value+('X'*thatShort*(第2位和第10位))

update MyTable
set Field1 = Field1 + 'X'
where Field2 & 0x202 = 0x202
[编辑]

value = value (X * (field & 0x1FF800 >> 12) * 0x202)
0x1FF800
-是从12到20的掩码。
>11
-将其移位以将位从0移到12。
由于您是按位2和位10集进行过滤,因此
(位2和位10)
=
0x202


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

哪种SQL?mySQL、SQLlite、Microsoft SQL等=如何将char
X
和一个数字相乘?我使用的是mySQL-这种SQL通常有效吗?@Nektarios-这在mySQL中也应该有效。谢谢,请参阅编辑以询问更复杂的逻辑-这也可能吗?加分在我心里。谢谢你,亚历克斯,这太棒了,让我开心了