sql >> Database >  >> RDS >> Oracle

RAWTOHEX() Functie in Oracle

In Oracle Database, de RAWTOHEX() functie converteert een onbewerkte waarde naar hexadecimaal.

Syntaxis

De syntaxis gaat als volgt:

RAWTOHEX(raw)

Waar raw kan elk scalair gegevenstype zijn, behalve LONG , LONG RAW , CLOB , NCLOB , BLOB , of BFILE .

Als het argument van een ander gegevenstype is dan RAW , dan zet de functie het argument om in een RAW waarde met hetzelfde aantal databytes.

Voorbeeld

Hier is een voorbeeld:

SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;

Resultaat:

374A5CFE

Hier gebruikte ik de HEXTORAW() functie om de hexadecimale string om te zetten naar RAW , en vervolgens RAWTOHEX() om het terug te converteren.

Nullargument

Als het argument null is , het resultaat is null :

SET NULL 'null';
SELECT RAWTOHEX(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 RAWTOHEX() zonder argumenten resulteert in een fout:

SELECT RAWTOHEX()
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 RAWTOHEX('a', 'b')
FROM DUAL;

Resultaat:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

  1. Gebruik een trigger om een ​​invoeging of update te stoppen

  2. Is het mogelijk om een ​​variabele te gebruiken en geen retourtype op te geven in postgreSQL?

  3. Correcte methode voor het verwijderen van meer dan 2100 rijen (op ID) met Dapper

  4. SQL Server Error 7222:"Alleen een SQL Server-provider is toegestaan ​​op dit exemplaar"