Dans Oracle Database, le RAWTOHEX()
convertit une valeur brute en hexadécimal.
Syntaxe
La syntaxe ressemble à ceci :
RAWTOHEX(raw)
Où 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"