2011-05-25 8 views
2

Comment puis-je effectuer les opérations suivantes dans Oracle?Oracle Type Casting

SELECT (cast field as bit) From Table 

est-il un moyen de conver ceci dans une déclaration Oracle en utilisant quelque chose de similaire pour lancer ou convertir?

+0

Quel type ne la colonne "champ" ont? et comment voulez-vous utiliser le résultat de la requête? Oracle n'a pas le type "bit". – schurik

Répondre

1

Si ce que vous voulez est de voir comment faire binaire, hexadécimal, conversions OPO, voir here. (roches Tom Kyte)

Par exemple,

SQL> select to_bin(123) bin, to_hex(123) hex, to_oct(123) oct from dual 
2/

BIN    HEX    OCT 
--------------- --------------- --------------- 
1111011   7B    173 

EDIT: Si vous vouliez juste pour voir si un peu était on/off, vous pouvez utiliser la fonction bitand (qui sort de la boîte avec Oracle). La fonction to_bin est également montrée ici, mais pas nécessaire pour utiliser la fonction bitand.

select to_bin(1234) bin, 
    2    bitand(1234,1)+0 bit1, 
    3    bitand(1234,2)+0 bit2, 
    4    bitand(1234,4)+0 bit3 
    5 from dual 
    6/

BIN    BIT1  BIT2  BIT3 
------------ ---------- ---------- ---------- 
10011010010   0   2   0 

Vous pouvez également utiliser la fonction d'alimentation pour obtenir la 2ème valeur param pour bitand (2^n). par exemple, la puissance (2,0), la puissance (2,1), la puissance (2,2)