CONCAT (SQL Bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Fungsi ini mengembalikan string yang dihasilkan dari perangkaian, atau gabungan, dari dua nilai string atau lebih secara end-to-end. (Untuk menambahkan nilai pemisahan selama perangkaian, lihat CONCAT_WS.)
Sintaks
CONCAT ( string_value1, string_value2 [, string_valueN ] )
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
string_value
Nilai string untuk digabungkan ke nilai lainnya. Fungsi ini CONCAT memerlukan setidaknya dua argumen string_value , dan tidak lebih dari 254 argumen string_value .
Tipe yang dikembalikan
string_value
Nilai string yang panjang dan jenisnya bergantung pada input.
Keterangan
CONCAT mengambil jumlah variabel argumen string dan menggabungkannya (atau menggabungkannya) menjadi satu string. Ini membutuhkan minimal dua nilai input; jika tidak, CONCAT akan menimbulkan kesalahan. CONCAT secara implisit mengonversi semua argumen menjadi jenis string sebelum perangkaian. CONCAT secara implisit mengonversi nilai null menjadi string kosong. Jika CONCAT menerima argumen dengan semua nilai NULL , maka akan mengembalikan string kosong dari jenis varchar(1). Konversi implisit ke string mengikuti aturan yang ada untuk konversi jenis data. Lihat CAST dan CONVERT (Transact-SQL) untuk informasi selengkapnya tentang konversi jenis data.
Jenis pengembalian tergantung pada jenis argumen. Tabel ini mengilustrasikan pemetaan:
| Jenis input | Jenis dan panjang output |
|---|---|
| 1. Argumen apa pun dari jenis sistem SQL-CLR UDT SQL-CLR atau nvarchar(max) |
nvarchar(maks) |
| 2. Jika tidak, argumen jenis apa pun varbinary(max) atau varchar(max) |
varchar(max), kecuali salah satu parameter adalah nvarchar dengan panjang berapa pun. Dalam hal ini, CONCAT mengembalikan hasil jenis nvarchar(max). |
| 3. Jika tidak, argumen jenis nvarchar paling banyak 4000 karakter ( nvarchar(<= 4000) ) |
nvarchar(<= 4000) |
| 4. Dalam semua kasus lainnya | varchar(<= 8000) ( varchar paling banyak 8000 karakter) kecuali salah satu parameter adalah nvarchar dengan panjang berapa pun. Dalam hal ini, CONCAT mengembalikan hasil jenis nvarchar(max). |
Ketika CONCAT menerima argumen input nvarchar panjang <= 4000 karakter, atau argumen input varchar panjang <= 8000 karakter, konversi implisit dapat memengaruhi panjang hasil. Jenis data lain memiliki panjang yang berbeda ketika secara implisit dikonversi ke string. Misalnya, int (14) memiliki panjang string 12, sedangkan float memiliki panjang 32. Oleh karena itu, perangkaian dua bilangan bulat mengembalikan hasil dengan panjang tidak kurang dari 24.
Jika tidak ada argumen input yang memiliki jenis objek besar (LOB) yang didukung, maka jenis pengembalian dipotong menjadi 8000 karakter, terlepas dari jenis pengembaliannya. Pemotongan ini mempertahankan ruang dan mendukung efisiensi pembuatan rencana.
Fungsi CONCAT dapat dijalankan dari jarak jauh pada server tertaut versi SQL Server 2012 (11.x) ke atas. Untuk server tertaut yang lebih lama, operasi CONCAT akan terjadi secara lokal, setelah server yang ditautkan mengembalikan nilai yang tidak digabungkan.
Contoh
A. Menggunakan CONCAT
SELECT CONCAT ( 'Happy ', 'Birthday ', 11, '/', '25' ) AS Result;
Berikut adalah tataan hasil.
Result
-------------------------
Happy Birthday 11/25
(1 row(s) affected)
B. Menggunakan CONCAT dengan nilai NULL
CREATE TABLE #temp (
emp_name NVARCHAR(200) NOT NULL,
emp_middlename NVARCHAR(200) NULL,
emp_lastname NVARCHAR(200) NOT NULL
);
INSERT INTO #temp VALUES( 'Name', NULL, 'Lastname' );
SELECT CONCAT( emp_name, emp_middlename, emp_lastname ) AS Result
FROM #temp;
Berikut adalah hasil yang ditetapkan.
Result
------------------
NameLastname
(1 row(s) affected)
Lihat juga
CONCAT_WS (SQL Bertransaksi)
FORMATMESSAGE (SQL bertransaksi)
QUOTENAME (SQL Bertransaksi)
REPLACE (Transact-SQL)
TERBALIK (SQL bertransaksi)
STRING_AGG (T-SQL)
STRING_ESCAPE (SQL Bertransaksi)
STUFF (Transact-SQL)
TERJEMAHKAN (SQL Bertransaksi)
Fungsi String (SQL Transact)
