V databázi Oracle, ROWIDTOCHAR() funkce převede ROWID hodnotu na VARCHAR2 datový typ.
Syntaxe
Syntaxe vypadá takto:
ROWIDTOCHAR(rowid) Příklad
Zde je příklad:
SELECT ROWIDTOCHAR('AAATiBAAMAAAAIDAAE')
FROM DUAL; Výsledek:
AAATiBAAMAAAAIDAAE
Výsledek převodu je vždy dlouhý 18 znaků.
A zde je výpis výsledku ve srovnání s CHARTOROWID() funkce (která vrací ROWID hodnota ze znakových dat):
SELECT
DUMP(CHARTOROWID('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "CHARTOROWID",
DUMP(ROWIDTOCHAR('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "ROWIDTOCHAR"
FROM DUAL; Výsledek:
CHARTOROWID ROWIDTOCHAR ____________________________ ________________________ Typ=69 Len=10:^@,^A,8,81 Typ=1 A, pre,A,T>ID typu
69znamená, že má hodnotuROWIDdatový typ a ID typu1znamená, že je to buďVARCHAR2neboNVARCHARCHAR2.Příklad databáze
Zde je příklad, který vrací řádek v databázové tabulce na základě daného
ROWID:SELECT ROWID, FIRST_NAME, LAST_NAME FROM EMPLOYEES WHERE ROWIDTOCHAR(ROWID) LIKE '%KzABa';Výsledek:
ROWID FIRST_NAME LAST_NAME _____________________ _____________ ____________ AAATiDAAMAAALKzABa Timothy GatesNulový argument
Pokud je argument
null, výsledkem jenull:SET NULL 'null'; SELECT ROWIDTOCHAR(null) FROM DUAL;Výsledek:
nullVe výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo, kdykoli se v důsledku příkazu SQL
SELECTobjeví hodnota null prohlášení.Můžete však použít
SET NULLurčit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězecnullby měl být vrácen.Neplatný počet argumentů
Volání
ROWIDTOCHAR()bez jakýchkoli argumentů vede k chybě:SELECT ROWIDTOCHAR() FROM DUAL;Výsledek:
Chyba SQL:ORA-00909:neplatný počet argumentů00909. 00000 - "neplatný počet argumentů"A předání příliš mnoha argumentů také vede k chybě:
SELECT ROWIDTOCHAR('a', 'b') FROM DUAL;Výsledek:
Chyba SQL:ORA-00909:neplatný počet argumentů00909. 00000 - "neplatný počet argumentů"