In der Oracle-Datenbank das RAWTOHEX() Funktion wandelt einen Rohwert in hexadezimal um.
Syntax
Die Syntax lautet wie folgt:
RAWTOHEX(raw)
Wobei raw kann jeder skalare Datentyp außer LONG sein , LONG RAW , CLOB , NCLOB , BLOB , oder BFILE .
Wenn das Argument einen anderen Datentyp als RAW hat , dann konvertiert die Funktion das Argument in ein RAW Wert mit der gleichen Anzahl von Datenbytes.
Beispiel
Hier ist ein Beispiel:
SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL; Ergebnis:
374A5CFE
Hier habe ich den HEXTORAW() verwendet Funktion zum Konvertieren der hexadezimalen Zeichenfolge in RAW , dann verwendet RAWTOHEX() zurück konvertieren.
Null-Argument
Wenn das Argument null ist , ist das Ergebnis null :
SET NULL 'null';
SELECT RAWTOHEX(null)
FROM DUAL; Ergebnis:
null
Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn als Ergebnis eines SQL-SELECT ein Nullwert auftritt Aussage.
Sie können jedoch SET NULL verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null zurückgegeben werden soll.
Ungültige Argumentanzahl
Aufruf von RAWTOHEX() ohne Argumente führt zu einem Fehler:
SELECT RAWTOHEX()
FROM DUAL; Ergebnis:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Und das Übergeben zu vieler Argumente führt ebenfalls zu einem Fehler:
SELECT RAWTOHEX('a', 'b')
FROM DUAL; Ergebnis:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"