/ / získajte jeden bit indexom z bitového poľa, mysql - mysql, bit, bit-field

získať jeden bit indexom z bitového poľa, mysql - mysql, bit, bitové polia

Existuje spôsob, ako získať jeden bit (alebo bool) z bitového poľa v mysql?

Jediným riešením, s ktorým som prišiel, je použitie nasledujúceho: Chcem bitovú hodnotu na pozícii tri.

SELECT bit_count(bin(column) & b"100") AS bitValue FROM table;

Výstup z tohto dotazu je jeden alebo anula. Ale nevyzerá to tak pekne. Existuje lepší spôsob, ako získať bitovú hodnotu na konkrétnej pozícii v bitovom poli? Čítanie bitových hodnôt by sa pri mojej webovej aplikácii malo robiť ťažko, myslíte si, že spôsob získania hodnoty, ktorú som použil vyššie, by bol problémom s výkonom? Myslím tým bit_count aj BIN () a operátor „a“.

Hľadám niečo ako:

SELECT column(3) FROM table;

Vďaka za prečítanie!

Mattias.

odpovede:

2 pre odpoveď č. 1

Ak sa obávate čítania výkonu abit, ktorý vás zaujíma, je opravený, skúste ho extrahovať a vložiť do booleovského stĺpca. Ak je bit, ktorý sa snažíte extrahovať, dynamický, myslím, že vaše riešenia sú optimálne.