Di Oracle, NLS_UPPER()
fungsi mengembalikan argumennya dengan semua huruf dalam huruf besar.
Ini mirip dengan UPPER()
fungsi, kecuali bahwa ia menerima argumen kedua yang memungkinkan Anda untuk menentukan susunan. Susunan menangani persyaratan linguistik khusus untuk konversi kasus.
Sintaks
Sintaksnya seperti ini:
NLS_UPPER(char [, 'nlsparam' ])
Dimana keduanya char
dan 'nlsparam'
dapat berupa salah satu tipe data CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
, atau NCLOB
.
'nlsparam'
argumen dapat memiliki bentuk berikut:
'NLS_SORT = sort'
Dimana sort
adalah susunan bernama.
Jika Anda menghilangkan argumen ini, susunan fungsi yang ditentukan akan digunakan.
Contoh
Berikut adalah contoh sederhana untuk ditunjukkan:
SELECT NLS_UPPER('coffee time') AS Result
FROM DUAL;
Hasil:
RESULT ______________ COFFEE TIME
Hal yang sama berlaku ketika argumen menggunakan kasus campuran:
SELECT NLS_UPPER('Coffee Time') AS Result
FROM DUAL;
Hasil:
RESULT ______________ COFFEE TIME
Dan jika argumennya sudah huruf besar, maka hasilnya sama dengan inputannya:
SELECT NLS_UPPER('COFFEE TIME') AS Result
FROM DUAL;
Hasil:
RESULT ______________ COFFEE TIME
Tentukan Collation
Berikut adalah contoh yang menunjukkan bagaimana menentukan susunan dapat mengubah hasil:
SELECT
NLS_UPPER('fasilə') AS r1,
NLS_UPPER('fasilə', 'NLS_SORT = XAZERBAIJANI') AS r2
FROM DUAL;
Hasil:
R1 R2 _________ _________ FASILƏ FASİLƏ
Perhatikan bahwa kolom kedua menggunakan huruf besar putus-putus I
karakter, yang menganut sistem penulisan Azerbaijan.
Perhatikan bahwa NLS_SORT
menimpa susunan argumen pertama hanya pada saat eksekusi. Oleh karena itu, pernyataan berikut mengembalikan susunan argumen pertama, bukan yang kedua:
SELECT
COLLATION(NLS_UPPER('fasilə', 'NLS_SORT = XAZERBAIJANI')) AS Collation
FROM DUAL;
Hasil:
COLLATION _________________ USING_NLS_COMP
Subjek collations bisa sangat kompleks. Lihat Lampiran C dalam Panduan Dukungan Globalisasi Database Oracle untuk aturan penentuan susunan dan aturan turunan susunan untuk fungsi ini.
Nilai Null
Melewati null
mengembalikan null
:
SELECT
NLS_UPPER(null, 'NLS_SORT = XAZERBAIJANI') AS r1,
NLS_UPPER('fasilə', null) AS r2,
NLS_UPPER(null, null) AS r3
FROM DUAL;
Hasil:
R1 R2 R3 _______ _______ _______ null 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 NLS_UPPER()
tanpa memberikan argumen apa pun mengembalikan kesalahan:
SELECT NLS_UPPER()
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT NLS_UPPER() 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 menghasilkan kesalahan:
SELECT NLS_UPPER('coffee', 'NLS_SORT = XAZERBAIJANI', 'time')
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT NLS_UPPER('coffee', 'NLS_SORT = XAZERBAIJANI', 'time') FROM DUAL Error at Command Line : 1 Column : 55 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action: