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

Fonction RAWTOHEX() dans Oracle

Dans Oracle Database, le RAWTOHEX() convertit une valeur brute en hexadécimal.

Syntaxe

La syntaxe ressemble à ceci :

RAWTOHEX(raw)

raw peut être n'importe quel type de données scalaire autre que LONG , LONG RAW , CLOB , NCLOB , BLOB , ou BFILE .

Si l'argument est d'un type de données autre que RAW , puis la fonction convertit l'argument en un RAW valeur avec le même nombre d'octets de données.

Exemple

Voici un exemple :

SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;

Résultat :

374A5CFE

Ici, j'ai utilisé le HEXTORAW() fonction pour convertir la chaîne hexadécimale en RAW , puis utilisé RAWTOHEX() pour le reconvertir.

Argument nul

Si l'argument est null , le résultat est null :

SET NULL 'null';
SELECT RAWTOHEX(null)
FROM DUAL;

Résultat :

null

Par défaut, SQLcl et SQL*Plus renvoient un espace vide chaque fois qu'une valeur nulle se produit à la suite d'un SELECT SQL déclaration.

Cependant, vous pouvez utiliser SET NULL pour spécifier une autre chaîne à renvoyer. Ici, j'ai précisé que la chaîne null doit être retourné.

Nombre d'arguments non valides

Appelant RAWTOHEX() sans aucun argument génère une erreur :

SELECT RAWTOHEX()
FROM DUAL;

Résultat :

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

Et passer trop d'arguments entraîne également une erreur :

SELECT RAWTOHEX('a', 'b')
FROM DUAL;

Résultat :

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"