I Oracle Database er ROWIDTONCHAR() funktion konverterer en ROWID værdi til NVARCHAR2 datatype
Det ligner ROWIDTOCHAR() funktion, bortset fra at ROWIDTOCHAR() konverterer en ROWID værdi til VARCHAR2 datatype.
Syntaks
Syntaksen ser sådan ud:
ROWIDTONCHAR(rovid) Eksempel
Her er et eksempel:
VÆLG ROWIDTONCHAR('AAATiBAAMAAAAIDAAE')FRA DUAL; Resultat:
AAATiBAAMAAAAIDAAE
Resultatet af konverteringen er altid i det nationale tegnsæt og er 18 tegn langt.
Og her er et dump af resultatet sammenlignet med CHARTOROWID() funktion (som returnerer en ROWID værdi fra tegndata):
SELECT DUMP(CHARTOROWID('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "CHARTOROWID", DUMP(ROWIDTONCHAR('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "ROWIDTONCHAR"FRA DUAL<; /kode>
Resultat:
CHARTOROWID ROWIDTONCHAR ____________________________ __________________________ Typ=69 Len=10:^@,^A,8,81 Typ=1 Len=36:^@,A,^@,A
Et type-id på 69 betyder, at den er af ROWID datatype og et type-id på 1 betyder, at det enten er VARCHAR2 eller NVARCHARCHAR2 .
Et databaseeksempel
Her er et eksempel, der returnerer en række i en databasetabel baseret på en given ROWID :
VÆLG ROWID, FIRST_NAME, LAST_NAMEFROM EMPLOYEESWHERE ROWIDTONCHAR(ROWID) SOM '%KzABa';
Resultat:
ROWID FIRST_NAME EFTERNAVN _____________________ ____________ ____________ AAATiDAAMAAALKzABa Timothy Gates
Nul-argument
Hvis argumentet er null , resultatet er null :
SET NULL 'null';SELECT ROWIDTONCHAR(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 ROWIDTONCHAR() uden nogen argumenter resulterer i en fejl:
VÆLG ROWIDTONCHAR()FRA DUAL;
Resultat:
SQL-fejl:ORA-00909:ugyldigt antal argumenter00909. 00000 - "ugyldigt antal argumenter"
Og at sende for mange argumenter resulterer også i en fejl:
VÆLG ROWIDTONCHAR('a', 'b')FRA DUAL;
Resultat:
SQL-fejl:ORA-00909:ugyldigt antal argumenter00909. 00000 - "ugyldigt antal argumenter"