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"