Di Oracle Database, COMPOSE()
fungsi mengembalikan hasil penerapan komposisi kanonik Unicode, seperti yang dijelaskan dalam definisi Standar Unicode D117, ke argumen stringnya.
Ini kebalikan dari DECOMPOSE()
fungsi.
Sintaks
Sintaksnya seperti ini:
COMPOSE(char)
Dimana char
adalah salah satu dari CHAR
, VARCHAR2
, NCHAR
, atau NVARCHAR2
tipe data.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT
COMPOSE('a' || UNISTR('\0303'))
FROM DUAL;
Hasil:
ã
Karakter Non Unicode
Jika kumpulan karakter argumen bukan salah satu kumpulan karakter Unicode, argumen dikembalikan tanpa dimodifikasi.
Contoh:
SELECT COMPOSE( 'a' )
FROM DUAL;
Hasil:
a
Argumen Null
Jika argumennya null
, hasilnya null
:
SET NULL 'null';
SELECT COMPOSE(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 COMPOSE()
tanpa argumen apa pun menghasilkan kesalahan:
SELECT COMPOSE()
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 COMPOSE('a', 'b')
FROM DUAL;
Hasil:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"