Dans la base de données Oracle, le BIT_TO_NUM()
convertit un vecteur de bits en son nombre équivalent.
Syntaxe
La syntaxe ressemble à ceci :
BIN_TO_NUM(expr [, expr ]... )
Où chaque expr
représente un bit dans le vecteur de bits.
Le ou les arguments peuvent être n'importe quel type de données numérique ou n'importe quel type de données non numérique pouvant être implicitement converti en NUMBER
. Chaque expression doit être évaluée à 0
ou 1
.
Exemple
Voici un exemple :
SELECT BIN_TO_NUM(1)
FROM DUAL;
Résultat :
1
Dans ce cas, la valeur binaire 1 représente le nombre 1.
En voici un autre :
SELECT BIN_TO_NUM(1, 0)
FROM DUAL;
Résultat :
2
Faisons maintenant un nombre beaucoup plus grand :
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;
Résultat :
46
Arguments non valides
Appelant BIN_TO_NUM()
avec des arguments qui ne se résolvent pas en un NUMBER
entraîner une erreur :
SELECT BIN_TO_NUM('Cat')
FROM DUAL;
Résultat :
ORA-01722: invalid number
Valeurs nulles
Si un argument est null
, une erreur "argument illégal" se produit :
SELECT BIN_TO_NUM(null)
FROM DUAL;
Résultat :
ORA-01760: illegal argument for function
Aucun argument ?
Appelant BIN_TO_NUM()
sans aucun argument renvoie 0
(zéro):
SELECT BIN_TO_NUM()
FROM DUAL;
Résultat :
0