Oracle
 sql >> Datenbank >  >> RDS >> Oracle

RAWTOHEX()-Funktion in Oracle

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"