In der Oracle-Datenbank die ROWIDTOCHAR()
Funktion konvertiert eine ROWID
Wert zu VARCHAR2
Datentyp.
Syntax
Die Syntax lautet wie folgt:
ROWIDTOCHAR(rowid)
Beispiel
Hier ist ein Beispiel:
SELECT ROWIDTOCHAR('AAATiBAAMAAAAIDAAE')
FROM DUAL;
Ergebnis:
AAATiBAAMAAAAIDAAE
Das Ergebnis der Konvertierung ist immer 18 Zeichen lang.
Und hier ist ein Dump des Ergebnisses im Vergleich zu CHARTOROWID()
Funktion (die eine ROWID
zurückgibt Wert aus Zeichendaten):
SELECT
DUMP(CHARTOROWID('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "CHARTOROWID",
DUMP(ROWIDTOCHAR('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "ROWIDTOCHAR"
FROM DUAL;
Ergebnis:
CHARTOROWID ROWIDTOCHAR ____________________________ ________________________ Typ=69 Len=10: ^@,^A,8,81 Typ=1 Len=18: A,A,A,T
Eine Typ-ID von 69
bedeutet, dass es von ROWID
ist Datentyp und eine Typ-ID von 1
bedeutet, dass es entweder VARCHAR2
ist oder NVARCHARCHAR2
.
Ein Datenbankbeispiel
Hier ist ein Beispiel, das eine Zeile in einer Datenbanktabelle zurückgibt, basierend auf einer gegebenen ROWID
:
SELECT
ROWID,
FIRST_NAME,
LAST_NAME
FROM EMPLOYEES
WHERE ROWIDTOCHAR(ROWID) LIKE '%KzABa';
Ergebnis:
ROWID FIRST_NAME LAST_NAME _____________________ _____________ ____________ AAATiDAAMAAALKzABa Timothy Gates
Null-Argument
Wenn das Argument null
ist , ist das Ergebnis null
:
SET NULL 'null';
SELECT ROWIDTOCHAR(null)
FROM DUAL;
Ergebnis:
null
Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn als Ergebnis eines SQL-SELECT
ein Nullwert auftritt Aussage.
Sie können jedoch SET NULL
verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null
zurückgegeben werden soll.
Ungültige Argumentanzahl
Aufruf von ROWIDTOCHAR()
ohne Argumente führt zu einem Fehler:
SELECT ROWIDTOCHAR()
FROM DUAL;
Ergebnis:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Und das Übergeben zu vieler Argumente führt ebenfalls zu einem Fehler:
SELECT ROWIDTOCHAR('a', 'b')
FROM DUAL;
Ergebnis:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"