I Oracle Database er RAWTOHEX()
funktion konverterer en rå værdi til hexadecimal.
Syntaks
Syntaksen ser sådan ud:
RAWTOHEX(raw)
Hvor raw
kan være enhver anden skalær datatype end LONG
, LONG
RAW
, CLOB
, NCLOB
, BLOB
, eller BFILE
.
Hvis argumentet er af en anden datatype end RAW
, så konverterer funktionen argumentet til en RAW
værdi med det samme antal databytes.
Eksempel
Her er et eksempel:
SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;
Resultat:
374A5CFE
Her brugte jeg HEXTORAW()
funktion til at konvertere den hexadecimale streng til RAW
, brugte derefter RAWTOHEX()
for at konvertere det tilbage.
Nul-argument
Hvis argumentet er null
, resultatet er null
:
SET NULL 'null';
SELECT RAWTOHEX(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 RAWTOHEX()
uden nogen argumenter resulterer i en fejl:
SELECT RAWTOHEX()
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 RAWTOHEX('a', 'b')
FROM DUAL;
Resultat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"