2013-06-13 8 views
5

Ich habe ein Integer Feld, und ich muss es in Bits to the SQL(Firebird) teilen. Für jedes Byte des Integer-Feldes sollte ein neues Feld sein. Zum Beispiel:Integer zu 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 

Wer weiß, wie dies in Firebird zu tun?

Antwort

3

Verwenden Sie die BIN_AND Funktion:

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

Dank @ain Genau das, was ich suchte. –

Verwandte Themen