sql >> Databasteknik >  >> RDS >> Oracle

HEXTORAW() Funktion i Oracle

I Oracle Database, HEXTORAW() funktion konverterar hexadecimal till ett råvärde.

Syntax

Syntaxen ser ut så här:

HEXTORAW(char)

Där char kan vara vilken som helst av CHAR , VARCHAR2 , NCHAR , eller NVARCHAR2 datatyper.

Exempel

Här är ett exempel:

SELECT HEXTORAW('74a5cfe') FROM DUAL;

Resultat:

074A5CFE

Vi kan använda DUMP() funktion för att ta reda på datatypen för returvärdet:

SELECT DUMP(HEXTORAW('74a5cfe')) FROM DUAL;

Resultat:

Typ=23 Len=4: 7,74,92,254

Typ=23 talar om för oss att returvärdet är av typ 23, vilket är typ-ID för RAW .

Bara för att vara tydlig, här är ett exempel som jämför den hexadecimala strängen och råvärdet:

SELECT 
    DUMP('123') AS "r1",
    DUMP(HEXTORAW('123')) AS "r2"
FROM DUAL;

Resultat:

                       r1                    r2 
_________________________ _____________________ 
Typ=96 Len=3: 49,50,51    Typ=23 Len=2: 1,35   

Det hexadecimala värdet är av typ 96, vilket är typ-ID för CHAR och NCHAR .

Icke Hex-tecken

Att skicka ett värde som inte är ett hexadecimalt värde resulterar i ett fel.

Exempel:

SELECT HEXTORAW('z') FROM DUAL;

Resultat:

Error report -
ORA-01465: invalid hex number

Nollargument

Om argumentet är null , resultatet är null :

SET NULL 'null';
SELECT HEXTORAW(null)
FROM DUAL;

Resultat:

null

Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när ett nollvärde inträffar som ett resultat av en SQL SELECT uttalande.

Du kan dock använda SET NULL för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null bör returneras.

Ogiltigt antal argument

Anropar HEXTORAW() utan några argument resulterar i ett fel:

SELECT HEXTORAW()
FROM DUAL;

Resultat:

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

Och att skicka för många argument resulterar också i ett fel:

SELECT HEXTORAW('a', 'b')
FROM DUAL;

Resultat:

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

  1. Helt ny produktionsdatabas

  2. Hur man tar bort en del av strängen i Oracle

  3. SQL Server Performance File IO-statistik

  4. SQLite trigger