2013-06-13 7 views
5

Ho un campo Integer e ho bisogno di dividerlo in Bits to the SQL(Firebird). Per ogni byte del campo Integer dovrebbe essere un nuovo campo. Per esempio:Numero intero in bit in SQL

Integer field: 7 = 00000111 

Bit 1 field1: 1 
Bit 2 field2: 1 
Bit 3 field3: 1 
Bit 4 Field4: 0 
Bit 5 Field5: 0 
Bit 6 Field6: 0 
Bit 7 Field7: 0 
Bit 8 Field8: 0 

qualcuno sa come farlo in Firebird?

risposta

3

utilizzare la funzione BIN_AND:

SELECT 
    bin_and(field, 1) as bit1, 
    bin_and(field, 2) as bit2, 
    bin_and(field, 4) as bit3, 
    bin_and(field, 8) as bit4, 
    ... 
FROM T 
+0

Grazie @ain Esattamente quello che stavo cercando. –