Di Oracle, CONCAT()
fungsi melakukan rangkaian string pada argumennya. Ia mengembalikan string yang dihasilkan dari penggabungan argumennya.
Penggabungan adalah operasi menggabungkan beberapa string ujung ke ujung.
Sintaks
Sintaksnya seperti ini:
CONCAT(char1, char2)
Di mana kedua argumen dapat berupa salah satu tipe data CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
, atau NCLOB
.
Contoh
Berikut adalah contoh sederhana untuk ditunjukkan:
SELECT CONCAT('Ponzi', 'Invest')
FROM DUAL;
Hasil:
CONCAT('PONZI','INVEST') ___________________________ PonziInvest
Nilai Null
Menggabungkan string dengan null
mengembalikan string:
SET NULL 'null';
SELECT
CONCAT('Ponzi', null),
CONCAT(null, 'Invest')
FROM DUAL;
Hasil:
CONCAT('PONZI',NULL) CONCAT(NULL,'INVEST') _______________________ ________________________ Ponzi Invest
Tetapi jika kedua argumen null
, hasilnya null
:
SET NULL 'null';
SELECT CONCAT(null, null)
FROM DUAL;
Hasil:
CONCAT(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 CONCAT()
tanpa memberikan argumen apa pun mengembalikan kesalahan:
SELECT CONCAT()
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT CONCAT() 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 jumlah argumen yang salah menghasilkan kesalahan:
SELECT CONCAT('Gosh', 'Dang', 'Investments')
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT CONCAT('Gosh', 'Dang', 'Investments') 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:
Kumpulan Karakter &Jenis Data
String yang dihasilkan memiliki karakter yang sama dengan argumen pertama, namun tipe datanya bergantung pada tipe data argumen.
Saat menggabungkan dua tipe data yang berbeda, Oracle Database mengembalikan tipe data yang menghasilkan konversi lossless. Oleh karena itu, jika salah satu argumennya adalah LOB, maka nilai yang dikembalikan adalah LOB. Jika salah satu argumen adalah tipe data nasional, maka nilai yang dikembalikan adalah tipe data nasional.
Contoh:
CONCAT
(CLOB
,NCLOB
) mengembalikanNCLOB
CONCAT
(NCLOB
,NCHAR
) mengembalikanNCLOB
CONCAT
(NCLOB
,CHAR
) mengembalikanNCLOB
CONCAT
(NCHAR
,CLOB
) mengembalikanNCLOB