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"