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

Funkce RAWTOHEX() v Oracle

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

Syntaxe

Syntaxe vypadá takto:

RAWTOHEX(raw)

Kde raw může být jakýkoli skalární datový typ jiný než LONG , LONG RAW , CLOB , NCLOB , BLOB , nebo BFILE .

Pokud je argument jiného datového typu než RAW , pak funkce převede argument na RAW hodnotu se stejným počtem datových bajtů.

Příklad

Zde je příklad:

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

Výsledek:

374A5CFE

Zde jsem použil HEXTORAW() funkce pro převod hexadecimálního řetězce na RAW , pak použil RAWTOHEX() převést zpět.

Nulový argument

Pokud je argument null , výsledkem je null :

SET NULL 'null';
SELECT RAWTOHEX(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í RAWTOHEX() bez jakýchkoli argumentů vede k chybě:

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

Výsledek:

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

  1. Přidání více parametrizovaných proměnných do databáze v c#

  2. Konfigurace databáze ActiveRecord::AdapterNotSpecified nespecifikuje adaptér

  3. Používejte relační databáze MySQL na Fedoře 12

  4. Uložená procedura MySQL vs funkce, kterou bych kdy použil?