Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Bu işlev, iki veya daha fazla dize değerinin uçtan uca bir şekilde birleştirilmesinden veya birleştirilmesinden kaynaklanan bir dize döndürür.
Uyarı
Birleştirme sırasında ayırıcı değer eklemek için CONCAT_WS kullanın.
Transact-SQL söz dizimi kuralları
Sözdizimi
CONCAT ( argument1 , argument2 [ , argumentN ] ... )
Arguments
argüman1, argüman2 [ , argümanN ]
Herhangi bir dize değerinin ifadesi.
CONCAT işlevi en az iki bağımsız değişken gerektirir ve en fazla 254 bağımsız değişken gerektirir.
Dönüş türleri
Uzunluğu ve türü girişe bağlı olan bir dize değeri.
Açıklamalar
CONCAT değişken sayıda dize bağımsız değişkeni alır ve bunları tek bir dizede birleştirir (veya birleştirir). En az iki giriş değeri gerektirir; aksi takdirde CONCAT bir hata yaratır.
CONCAT birleştirmeden önce tüm bağımsız değişkenleri örtük olarak dize türlerine dönüştürür.
CONCAT boş değerleri örtük olarak boş dizelere dönüştürür. Tüm CONCAT değerlere sahip bağımsız değişkenler alırsa NULL, varchar(1) türünde boş bir dize döndürür. Dizelere örtük dönüştürme, veri türü dönüştürmeleri için mevcut kurallara uyar. Veri tipi dönüşümleri hakkında daha fazla bilgi için bkz. CAST ve CONVERT (Transact-SQL).
Dönüş türü, argümanların türüne bağlıdır. Bu tablo eşlemeyi göstermektedir:
| Giriş türü | Çıkış türü ve uzunluk |
|---|---|
| 1. SQL-CLR sistem türü, SQL-CLR UDT veya nvarchar(max) argümanı | nvarchar(max) |
| 2. Aksi takdirde, varbinary(max) veya varchar(max) tipindeki herhangi bir argüman |
varchar(max), parametrelerden biri herhangi bir uzunlukta nvarchar değilse. Bu durumda, CONCATnvarchar(max) tipinde bir sonuç döndürür. |
| 3. Aksi takdirde, 4000 karaktere kadar olan herhangi bir nvarchar tipi argüman (nvarchar(<= 4000)) | nvarchar(<= 4000) |
| 4. Diğer tüm durumlarda | 8000 karaktere kadar olan varchar tipi herhangi bir argüman (varchar(<= 8000)), parametrelerden biri herhangi bir uzunlukta nvarchar değilse. Bu durumda, CONCATnvarchar(max) tipinde bir sonuç döndürür. |
CONCAT Uzunluk <= 4000 karakter olan nvarchar giriş argümanları veya uzunluk <= 8000 karakter olan varchar giriş argümanları alıldığında, örtük dönüşümler sonucun uzunluğunu etkileyebilir. Diğer veri türleri, örtük olarak dizelere dönüştürüldüğünde farklı uzunluklara sahiptir. Örneğin, değeri 14 olan bir int'nin dizisi 2 iken, değeri 1234.56789 olan bir float'ın dizisi 7 (1234.57). Bu nedenle, bu iki değerin birleştirilmesi, uzunluğu en az 9 karakter olan bir sonuç verir.
Giriş argümanlarının hiçbiri desteklenen büyük nesne (LOB) tipine sahip değilse, dönüş tipi dönüş türü ne olursa olsun 8.000 karaktere kadar kısaltılır. Bu kesinti alanı korur ve plan oluşturma verimliliğini destekler.
CONCAT SQL Server 2012 (11.x) ve daha sonraki sürümleri çalıştıran bağlı bir sunucuda uzaktan çalıştırılabilir. Eski bağlı sunucular için, CONCAT işlem yerel olarak gerçekleşir; bağlantılı sunucu bağlanmamış değerleri döndürdükten sonra.
Örnekler
A. CONCAT kullanın
SELECT CONCAT ('Happy ', 'Birthday ', 11, '/', '25') AS Result;
Sonuç kümesi aşağıdadır.
Result
--------------------
Happy Birthday 11/25
B. NULL değerlerle CONCAT kullanın
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;
Sonuç kümesi aşağıdadır.
Result
------------
NameLastname