In Oracle Database is de RAWTONHEX()
functie converteert een onbewerkte waarde naar hexadecimaal.
Het is vergelijkbaar met de RAWTOHEX()
functie, behalve dat de waarde ervan altijd wordt geretourneerd in de nationale tekenset.
Syntaxis
De syntaxis gaat als volgt:
RAWTONHEX(raw)
Voorbeeld
Hier is een voorbeeld:
SELECT
RAWTONHEX(HEXTORAW('f9')) AS "Result",
DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;
Resultaat:
Result Dump _________ _________________________ F9 Typ=1 Len=4: 0,70,0,57
Hier gebruikte ik de HEXTORAW()
functie om een hexadecimale tekenreeks te converteren naar RAW
, en vervolgens RAWTONHEX()
om het terug te converteren. De uitvoer van de DUMP()
functie laat zien dat het geretourneerde gegevenstype van het type 1 is.
Nullargument
Als het argument null
is , het resultaat is null
:
SET NULL 'null';
SELECT RAWTONHEX(null)
FROM DUAL;
Resultaat:
null
Standaard retourneren SQLcl en SQL*Plus een spatie wanneer een null-waarde optreedt als resultaat van een SQL SELECT
verklaring.
U kunt echter SET NULL
gebruiken om een andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null
moet worden geretourneerd.
Ongeldig aantal argumenten
Bellen RAWTONHEX()
zonder argumenten resulteert in een fout:
SELECT RAWTONHEX()
FROM DUAL;
Resultaat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
En het doorgeven van te veel argumenten resulteert ook in een fout:
SELECT RAWTONHEX('a', 'b')
FROM DUAL;
Resultaat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"