I Oracle Database er RAWTONHEX()
funktion konverterer en rå værdi til hexadecimal.
Det ligner RAWTOHEX()
funktion, bortset fra at dens værdi altid returneres i det nationale tegnsæt.
Syntaks
Syntaksen ser sådan ud:
RAWTONHEX(raw)
Eksempel
Her er et eksempel:
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
Her brugte jeg HEXTORAW()
funktion til at konvertere en hexadecimal streng til RAW
, brugte derefter RAWTONHEX()
at konvertere det tilbage. Outputtet af DUMP()
funktionen viser, at den returnerede datatype er af type 1.
Nul-argument
Hvis argumentet er null
, resultatet er null
:
SET NULL 'null';
SELECT RAWTONHEX(null)
FROM DUAL;
Resultat:
null
Som standard returnerer SQLcl og SQL*Plus et tomt mellemrum, når der opstår en null-værdi som et resultat af en SQL SELECT
erklæring.
Du kan dog bruge SET NULL
for at angive en anden streng, der skal returneres. Her specificerede jeg, at strengen null
skal returneres.
Ugyldigt argumentantal
Ringer til RAWTONHEX()
uden argumenter resulterer i en fejl:
SELECT RAWTONHEX()
FROM DUAL;
Resultat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Og at sende for mange argumenter resulterer også i en fejl:
SELECT RAWTONHEX('a', 'b')
FROM DUAL;
Resultat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"