Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fonction BIN_TO_NUM() dans Oracle

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