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

Fungsi NLS_CHARSET_DECL_LEN() di Oracle

Di Oracle, NLS_CHARSET_DECL_LEN() fungsi mengembalikan panjang deklarasi (dalam jumlah karakter) dari NCHAR kolom.

Sintaks

Sintaksnya seperti ini:

NLS_CHARSET_DECL_LEN(byte_count, char_set_id)

Dimana byte_count adalah lebar kolom dan char_set_id adalah ID set karakter kolom.

Contoh

Berikut ini contoh dasarnya:

SELECT NLS_CHARSET_DECL_LEN(100, 1)
FROM DUAL;

Hasil:

100

Ini dia dengan ID set karakter yang berbeda:

SELECT NLS_CHARSET_DECL_LEN(100, 2000)
FROM DUAL;

Hasil:

50

Dapatkan ID Kumpulan Karakter

Kita dapat menggunakan NLS_CHARSET_ID() fungsi untuk mengembalikan ID set karakter untuk set karakter yang diberikan:

Contoh:

SELECT NLS_CHARSET_DECL_LEN(
    100, 
    NLS_CHARSET_ID('AL16UTF16')
    )
FROM DUAL;

Hasil:

50

Argumen Null

Jika ada argumen null , hasilnya null :

SET NULL 'null';
SELECT 
    NLS_CHARSET_DECL_LEN(null, 1) AS r1,
    NLS_CHARSET_DECL_LEN(100, null) AS r2
FROM DUAL;

Hasil:

     R1      R2 
_______ _______ 
   null    null

Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali null terjadi sebagai akibat dari SQL SELECT penyataan.

Namun, Anda dapat menggunakan SET NULL untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null harus dikembalikan.

Jumlah Argumen Salah

Memanggil fungsi tanpa meneruskan argumen apa pun menghasilkan kesalahan:

SELECT NLS_CHARSET_DECL_LEN()
FROM DUAL;

Hasil:

Error starting at line : 1 in command -
SELECT NLS_CHARSET_DECL_LEN()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

Dan meneruskan terlalu banyak argumen juga menghasilkan kesalahan:

SELECT NLS_CHARSET_DECL_LEN(100, 1, 2)
FROM DUAL;

Hasil:

Error starting at line : 1 in command -
SELECT NLS_CHARSET_DECL_LEN(100, 1, 2)
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pilih dari tabel dengan mengetahui hanya tanggal tanpa waktu (ORACLE)

  2. Oracle:Prosedur tersimpan Java mengirim Pesan JMS

  3. Permintaan untuk menemukan pemindaian tabel lengkap di Oracle

  4. Pengembang SQL Tidak Akan Mulai

  5. Agregasi string Oracle