I Oracle Database, RAWTONHEX()
funktion konverterar ett råvärde till hexadecimalt.
Det liknar RAWTOHEX()
funktion, förutom att dess värde alltid returneras i den nationella teckenuppsättningen.
Syntax
Syntaxen ser ut så här:
RAWTONHEX(raw)
Exempel
Här är ett exempel:
SELECT
RAWTONHEX(HEXTORAW('f9')) AS "Result",
DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;
Resultat:
Result Dump _________ _________________________ F9 Typ=1 Len=4: 0,70,0,57
Här använde jag HEXTORAW()
funktion för att konvertera en hexadecimal sträng till RAW
, använde sedan RAWTONHEX()
för att konvertera tillbaka den. Utdata från DUMP()
funktionen visar att den returnerade datatypen är av typ 1.
Nollargument
Om argumentet är null
, resultatet är null
:
SET NULL 'null';
SELECT RAWTONHEX(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 RAWTONHEX()
utan några argument resulterar i ett fel:
SELECT RAWTONHEX()
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 RAWTONHEX('a', 'b')
FROM DUAL;
Resultat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"