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ď č. 1Ak 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.