Aracılığıyla paylaş


concat (Transact-sql)

İki veya daha fazla dize değerleri içinde sonucu olan bir dize döndürür.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

CONCAT ( string_value1, string_value2 [, string_valueN ] )

Bağımsız değişkenler

  • string_value
    Diğer değerler için art arda bağlamak için bir dize değeri.

Dönüş Türleri

Dize, uzunluk ve hangi tür girdiye bağlıdır.

Açıklamalar

CONCATdize bağımsız değişkeni bir dizi alır ve bunları tek bir dizesi halinde birleştirir. En az iki giriş değerleri gerektirir; Aksi durumda, bir hata oluşturulur. Tüm bağımsız değişkenler dize türleri için örtülü olarak dönüştürülür ve sonra birleştirilmiş. NULL değerler örtülü olarak boş bir dizeye dönüştürülür. Tüm bağımsız değişkenler boş ise, boş bir dize türü varchar(1) döndürdü. Örtük dönüştürme dizeleri için veri türü dönüştürmeleri için varolan kuralları izler. Veri türü dönüştürmeleri hakkında daha fazla bilgi için bkz: CAST ve CONVERT (Transact-SQL).

Dönüş türü bağımsız değişken türüne bağlıdır. Aşağıdaki tabloda, eşleme gösterilmiştir.

Giriş türü

Çıktı türü ve uzunluğu

Herhangi bir bağımsız değişkeni bir sql clr sistemi türü, bir sql clr udt ise veyanvarchar(max)

nvarchar(max)

Aksi takdirde, herhangi bir bağımsız değişken ise varbinary(max)veyavarchar(max)

varchar(max) parametrelerden biri olmadıkça bir nvarcharherhangi bir uzunlukta. Eğer öyleyse, o zaman sonuç nvarchar(max).

Aksi takdirde, herhangi bir bağımsız değişken ise nvarchar(<= 4000)

nvarchar(<= 4000)

Aksi takdirde, diğer tüm durumlarda

varchar(<= 8000) sürece parametrelerden herhangi bir uzunlukta bir nvarchar. Eğer öyleyse, o zaman sonuç nvarchar(max).

Bağımsız değişkenler olduğunda <4000 için = nvarchar, ya <8000 için = varchar, örtük dönüştürmeler sonuç uzunluğunu etkileyebilir. Diğer veri türlerini örtük dizelerine dönüştürülür farklı uzunluklarda vardır. Örneğin, bir int(14) 12, bir dize uzunluğu ise bir floatuzunluğu 32. Böylece iki tamsayı bitiştirmek sonucu en az 24 uzunluğu vardır.

Giriş bağımsız hiçbiri ise desteklenen büyük nesne (lob) yazın, ardından dönüş türü, uzunluğu, dönüş türüne bakılmaksızın 8000 kesilir. Bu kesme alanı korur ve etkinlik planı üretimi destekler.

Bu işlev için uzak olma yeteneğine sahip SQL Server 2012sunucuları ve üstü. Bir versiyonu olan sunucularına uzak olmayacak SQL Server 2012.

Örnekler

A.concat kullanma

SELECT CONCAT ( 'Happy ', 'Birthday ', 11, '/', '25' ) AS Result;

SELECT CONCAT ( 'Happy ', 'Birthday ', 11, '/', '25' ) AS Result;

Sonuç kümesi buradadır.

Result
-------------------------
Happy Birthday 11/25

(1 row(s) affected)

Result
-------------------------
Happy Birthday 11/25

(1 row(s) affected)

B.concat null değerleri ile kullanma

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;

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 buradadır.

Result
------------------
NameLastname

(1 row(s) affected)

Result
------------------
NameLastname

(1 row(s) affected)