Di Oracle Database, NLS_COLLATION_NAME()
fungsi mengembalikan nama susunan yang diberikan, berdasarkan ID-nya. Anda meneruskan ID pemeriksaan saat memanggil fungsi, dan mengembalikan nama pemeriksaan.
Sintaks
Sintaksnya seperti ini:
NLS_COLLATION_NAME(expr [, flag ])
Dimana expr
adalah ID pemeriksaan dari jenis NUMBER
.
flag
argumen adalah argumen opsional yang hanya berlaku untuk kumpulan Unicode Collation Algorithm (UCA). Ini menentukan apakah fungsi harus mengembalikan bentuk pendek atau bentuk panjang dari nama susunan.
flag
argumen dapat berupa salah satu dari berikut ini:
Tandai | Deskripsi |
---|---|
'S' atau 's' | Mengembalikan bentuk pendek dari nama susunan. |
'L' atau 'l' | Mengembalikan bentuk panjang dari nama susunan. |
Nilai default untuk bendera ini adalah 'L'
.
Contoh
Berikut ini contoh dasarnya:
SELECT NLS_COLLATION_NAME(70)
FROM DUAL;
Hasil:
XAZERBAIJANI
Berikut beberapa contoh lainnya:
SELECT
NLS_COLLATION_NAME(4112) AS "1",
NLS_COLLATION_NAME(4116) AS "2"
FROM DUAL;
Hasil:
1 2 ___________ _____________ FRENCH_M CANADIAN_M
Bendera Bentuk Panjang/Pendek
Seperti yang telah disebutkan, kita dapat memberikan tanda opsional untuk menentukan apakah mengembalikan bentuk pendek atau bentuk panjang dari nama susunan.
SELECT
NLS_COLLATION_NAME(208920, 'L') AS "Long",
NLS_COLLATION_NAME(208920, 'S') AS "Short"
FROM DUAL;
Hasil:
Long Short __________________________________________ _______________ UCA0620_THAI_S4_VS_BN_NY_EN_FN_HN_DN_MN UCA0620_THAI
Nilai default untuk bendera ini adalah 'L'
. Jadi jika kita menghilangkan bendera, bentuk panjang dikembalikan:
SELECT
NLS_COLLATION_NAME(208920) AS "Default"
FROM DUAL;
Hasil:
Default __________________________________________ UCA0620_THAI_S4_VS_BN_NY_EN_FN_HN_DN_MN
Bendera ini hanya berlaku untuk susunan Algoritma Kolasi Unicode (UCA).
Jika kami menerapkan bendera ke susunan non-UCA, kami tidak melihat perbedaan:
SELECT
NLS_COLLATION_NAME(4112, 'L') AS "1",
NLS_COLLATION_NAME(4112, 'S') AS "2"
FROM DUAL;
Hasil:
1 2 ___________ ___________ FRENCH_M FRENCH_M
Pengumpulan Tidak Valid
Melewati nama pemeriksaan yang tidak valid menghasilkan null
:
SET NULL 'null';
SELECT NLS_COLLATION_NAME(4113)
FROM DUAL;
Hasil:
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.
Argumen Null
Melewati null
mengembalikan null
:
SET NULL 'null';
SELECT NLS_COLLATION_NAME(null)
FROM DUAL;
Hasil:
null
Jumlah Argumen Salah
Memanggil fungsi tanpa meneruskan argumen apa pun menghasilkan kesalahan:
SELECT NLS_COLLATION_NAME()
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT NLS_COLLATION_NAME() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function" *Cause: *Action:
Dan meneruskan terlalu banyak argumen juga menghasilkan kesalahan:
SELECT NLS_COLLATION_NAME(4112, 'S', 'L')
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT NLS_COLLATION_NAME(4112, 'S', 'L') FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action: