Dans Oracle Database, le RAWTONHEX()
convertit une valeur brute en hexadécimal.
C'est similaire au RAWTOHEX()
fonction, sauf que sa valeur est toujours renvoyée dans le jeu de caractères national.
Syntaxe
La syntaxe ressemble à ceci :
RAWTONHEX(raw)
Exemple
Voici un exemple :
SELECT
RAWTONHEX(HEXTORAW('f9')) AS "Result",
DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;
Résultat :
Result Dump _________ _________________________ F9 Typ=1 Len=4: 0,70,0,57
Ici, j'ai utilisé le HEXTORAW()
fonction pour convertir une chaîne hexadécimale en RAW
, puis utilisé RAWTONHEX()
pour le reconvertir. La sortie du DUMP()
montre que le type de données renvoyé est de type 1.
Argument nul
Si l'argument est null
, le résultat est null
:
SET NULL 'null';
SELECT RAWTONHEX(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 RAWTONHEX()
sans aucun argument génère une erreur :
SELECT RAWTONHEX()
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 RAWTONHEX('a', 'b')
FROM DUAL;
Résultat :
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"