Мне назвали столбец a
, и столбец называют b
.
Я хочу заполниться UPDATE ... SET b = ...
запросите b столбец, так, чтобы он содержал первый бит это a
установил на 1. Хорошо, Вы, вероятно, не поняли, намного легче понять с примером:
a = 2508 = 0x9CC = 0100111001100
b = 4 = 0x4 = 0000000000100
a = 2080 = 0x820 = 0100000100000
b = 32 = 0x20 = 0000000100000
Существует ли способ сделать это в чистом SQL?
Это должно сработать:
update your_table
set b = if(a > 0,pow(2,instr(reverse(bin(a)),'1')-1),0);