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: