sql >> Databáze >  >> RDS >> Oracle

Funkce RAWTONHEX() v Oracle

V databázi Oracle je to RAWTONHEX() funkce převede nezpracovanou hodnotu na šestnáctkovou.

Je to podobné jako RAWTOHEX() funkce, kromě toho, že její hodnota je vždy vrácena v národní znakové sadě.

Syntaxe

Syntaxe vypadá takto:

RAWTONHEX(raw)

Příklad

Zde je příklad:

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

Výsledek:

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

Zde jsem použil HEXTORAW() funkce pro převod hexadecimálního řetězce na RAW , pak použil RAWTONHEX() převést zpět. Výstup DUMP() funkce ukazuje, že vrácený datový typ je typu 1.

Nulový argument

Pokud je argument null , výsledkem je null :

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

Výsledek:

null

Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo, kdykoli se v důsledku příkazu SQL SELECT objeví hodnota null prohlášení.

Můžete však použít SET NULL určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null by měl být vrácen.

Neplatný počet argumentů

Volání RAWTONHEX() bez jakýchkoli argumentů vede k chybě:

SELECT RAWTONHEX()
FROM DUAL;

Výsledek:

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

A předání příliš mnoha argumentů také vede k chybě:

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

Výsledek:

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

  1. Jak analyzovat řetězce jako profesionál pomocí funkce SQL SUBSTRING()?

  2. Jak nainstalovat MySQL 8.0 na RHEL/CentOS 8/7 a Fedora 35

  3. Rozpoznávání vzoru řádků v SQL

  4. Přidejte sloupec s výchozí hodnotou do existující tabulky na SQL Server