Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

CONCAT() Fungsi di Oracle

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 ) mengembalikan NCLOB
  • CONCAT (NCLOB , NCHAR ) mengembalikan NCLOB
  • CONCAT (NCLOB , CHAR ) mengembalikan NCLOB
  • CONCAT (NCHAR , CLOB ) mengembalikan NCLOB

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menginstal Klien Instan Oracle

  2. Dukungan Multi Bahasa di 11i/R12

  3. Bagaimana cara Memilih substring di Oracle SQL hingga karakter tertentu?

  4. Tidak ada pemetaan Dialek untuk tipe JDBC:-9

  5. Apakah ada cara terbaik untuk menghindari eksekusi proses lebih dari sekali di Oracle?