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

Fonction RAWTONHEX() dans Oracle

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"