Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ROWIDTONCHAR() Fungsi di Oracle

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"

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL Developer 21.4.2 dan SQLcl 21.4.1 sekarang tersedia

  2. Daftar Elemen Format Angka di Oracle

  3. Cadangan Online Vs Offline

  4. Membuat tabel dari kueri menggunakan tablespace yang berbeda (Oracle SQL)

  5. Karakter escape Oracle pl-sql (untuk ' )