Witam
Mam pytanie odnośnie wyciągania bitów z pól w bazie. Rzecz dotyczy Firebird'a 1.5. Mam pole typu INT w którym zaszytych jest kilka informacji naraz (jako kolejne bity). Chciałbym jest wyciągnąć i zawarunkować ich występowanie w WHERE'rze.
Nie chcę pisać UDF'a, bo rzecz jest dość pilna, a w tej aplikacji nie ma jeszcze żadnego UDF'ika, co się wiąże z przerabianiem setup'u, rozsyłaniem dll'ki do tych co już mają zainstalowane itd... <- generalnie to by była ostateczność.
Pytanie więc brzmi czy są jakieś operatory do operacji na bitach ? W sumie tak mi przychodzi do głowy, że mogę tego INT'a dzielić przez kolejne potęgi dwójki od największej i sprawdzać wynik i reszte z dzielenia dalej dzielić ... ale to raczej nie tędy droga.
Szukam czegoś takiego jak AND
(STATUS AND 4) = 4, tylko żeby to AND było bitowe.
No i oczywiście żeby to było szybkie.
Ale wydaje mi się że FB nie ma czegoś takiego : ( Więc wyprzedzająco zapytam, co byście proponowali zastępczego za te bit'y ? Bo rzecz wygląda tak, że ja to pole bitowe mam w jednej bazie, i chce je przenieść do drugiej bazy, ale nie chce mieć tam też pola bitowego, jak nie bede miał z niego żadnego
pozytku. Może na etapie przenoszenia zamienić to na jakiegoś string'a albo coś ...
Pozdrawiam