I Oracle Database, RAWTOHEX()
funktion konverterar ett råvärde till hexadecimalt.
Syntax
Syntaxen ser ut så här:
RAWTOHEX(raw)
Där raw
kan vara vilken annan skalär datatyp som helst än LONG
, LONG
RAW
, CLOB
, NCLOB
, BLOB
, eller BFILE
.
Om argumentet är av en annan datatyp än RAW
, då konverterar funktionen argumentet till en RAW
värde med samma antal databyte.
Exempel
Här är ett exempel:
SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;
Resultat:
374A5CFE
Här använde jag HEXTORAW()
funktion för att konvertera den hexadecimala strängen till RAW
, använde sedan RAWTOHEX()
för att konvertera tillbaka den.
Nollargument
Om argumentet är null
, resultatet är null
:
SET NULL 'null';
SELECT RAWTOHEX(null)
FROM DUAL;
Resultat:
null
Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när ett nollvärde inträffar som ett resultat av en SQL SELECT
uttalande.
Du kan dock använda SET NULL
för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null
bör returneras.
Ogiltigt antal argument
Anropar RAWTOHEX()
utan några argument resulterar i ett fel:
SELECT RAWTOHEX()
FROM DUAL;
Resultat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Och att skicka för många argument resulterar också i ett fel:
SELECT RAWTOHEX('a', 'b')
FROM DUAL;
Resultat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"