sql >> Database teknologi >  >> RDS >> Oracle

RAWTONHEX() Funktion i Oracle

I Oracle Database er RAWTONHEX() funktion konverterer en rå værdi til hexadecimal.

Det ligner RAWTOHEX() funktion, bortset fra at dens værdi altid returneres i det nationale tegnsæt.

Syntaks

Syntaksen ser sådan ud:

RAWTONHEX(raw)

Eksempel

Her er et eksempel:

SELECT 
    RAWTONHEX(HEXTORAW('f9')) AS "Result",
    DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;

Resultat:

   Result                      Dump 
_________ _________________________ 
F9        Typ=1 Len=4: 0,70,0,57   

Her brugte jeg HEXTORAW() funktion til at konvertere en hexadecimal streng til RAW , brugte derefter RAWTONHEX() at konvertere det tilbage. Outputtet af DUMP() funktionen viser, at den returnerede datatype er af type 1.

Nul-argument

Hvis argumentet er null , resultatet er null :

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

Resultat:

null

Som standard returnerer SQLcl og SQL*Plus et tomt mellemrum, når der opstår en null-værdi som et resultat af en SQL SELECT erklæring.

Du kan dog bruge SET NULL for at angive en anden streng, der skal returneres. Her specificerede jeg, at strengen null skal returneres.

Ugyldigt argumentantal

Ringer til RAWTONHEX() uden argumenter resulterer i en fejl:

SELECT RAWTONHEX()
FROM DUAL;

Resultat:

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

Og at sende for mange argumenter resulterer også i en fejl:

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

Resultat:

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

  1. Grunde til at være optimistisk med hensyn til fremtiden for Microsoft Access

  2. Den Adaptive Join Threshold

  3. Sådan rettes 'Systemressource overskredet' ved migrering til Windows 10

  4. SQL Server loop - hvordan går jeg gennem et sæt poster