Di Oracle Database, ROWIDTONCHAR() fungsi mengonversi ROWID nilai ke NVARCHAR2 tipe data
Ini mirip dengan ROWIDTOCHAR() fungsi, kecuali ROWIDTOCHAR() mengonversi ROWID nilai ke VARCHAR2 tipe data.
Sintaks
Sintaksnya seperti ini:
ROWIDTONCHAR(rowid) Contoh
Ini contohnya:
SELECT ROWIDTONCHAR('AAATiBAAMAAAAIDAAE')
FROM DUAL; Hasil:
AAATiBAAMAAAAIDAAE
Hasil konversi selalu dalam set karakter nasional dan panjangnya 18 karakter.
Dan inilah dump dari hasilnya jika dibandingkan dengan CHARTOROWID() fungsi (yang mengembalikan ROWID nilai dari data karakter):
SELECT
DUMP(CHARTOROWID('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "CHARTOROWID",
DUMP(ROWIDTONCHAR('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "ROWIDTONCHAR"
FROM DUAL; Hasil:
CHARTOROWID ROWIDTONCHAR ____________________________ __________________________ Typ=69 Len=10: ^@,^A,8,81 Typ=1 Len=36: ^@,A,^@,A
ID jenis 69 berarti dari ROWID tipe data, dan ID tipe 1 artinya adalah VARCHAR2 atau NVARCHARCHAR2 .
Contoh Basis Data
Berikut adalah contoh yang mengembalikan baris dalam tabel database, berdasarkan ROWID yang diberikan :
SELECT
ROWID,
FIRST_NAME,
LAST_NAME
FROM EMPLOYEES
WHERE ROWIDTONCHAR(ROWID) LIKE '%KzABa'; Hasil:
ROWID FIRST_NAME LAST_NAME _____________________ _____________ ____________ AAATiDAAMAAALKzABa Timothy Gates
Argumen Null
Jika argumennya null , hasilnya null :
SET NULL 'null';
SELECT ROWIDTONCHAR(null)
FROM DUAL; Hasil:
null
Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali nilai nol muncul sebagai akibat dari SELECT SQL pernyataan.
Namun, Anda dapat menggunakan SET NULL untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null harus dikembalikan.
Jumlah Argumen Tidak Valid
Memanggil ROWIDTONCHAR() tanpa argumen apa pun menghasilkan kesalahan:
SELECT ROWIDTONCHAR()
FROM DUAL; Hasil:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Dan meneruskan terlalu banyak argumen juga menghasilkan kesalahan:
SELECT ROWIDTONCHAR('a', 'b')
FROM DUAL; Hasil:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"