Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Ez a függvény egy sztringet ad vissza, amely két vagy több sztringérték összefűzésével vagy összefűzésével végződik.
Megjegyzés:
A összekötés során elválasztó érték hozzáadásához használd a CONCAT_WS.
Transact-SQL szintaxis konvenciók
Szemantika
CONCAT ( argument1 , argument2 [ , argumentN ] ... )
Arguments
argumentum1, argumentum2 [ , argumentumN ]
Bármely sztringérték kifejezése. A CONCAT függvényhez legalább két argumentum, legfeljebb 254 argumentum szükséges.
Visszatérési típusok
Olyan sztringérték, amelynek hossza és típusa a bemenettől függ.
Megjegyzések
CONCAT változó számú sztringargumentumot vesz fel, és egyetlen sztringbe fűzi (vagy összekapcsolja) őket. Minimum két bemeneti értéket igényel; Ellenkező esetben CONCAT hibát okoz.
CONCAT az összes argumentumot implicit módon sztringtípusokká alakítja az összefűzés előtt.
CONCAT implicit módon átalakítja a nullértékeket üres stringekre. Ha CONCAT az összes NULL értékkel rendelkező argumentumokat kap, akkor üres varchar(1) típusú sztringet ad vissza. A sztringekre való implicit átalakítás az adattípus-átalakításokra vonatkozó meglévő szabályokat követi. További információért az adattípus-átalakításokról lásd: CAST és CONVERT (Transact-SQL).
A visszaküldés típusa az argumentumok típusától függ. Ez a táblázat illusztrálja a leképezést:
| Bemeneti típus | Kimeneti típus és hossz |
|---|---|
| 1. Bármilyen SQL-CLR rendszertípusú, SQL-CLR UDT vagy nvarchar(max) érv | nvarchar(max) |
| 2. Egyébként bármilyen varbináris (max) vagy varchar(max) típusú argumentum |
varchar(max), hacsak az egyik paraméter bármely hosszúságú nvarchar . Ebben az esetben CONCATnvarchar(max) típusú eredményt adunk vissza. |
| 3. Ellenkező esetben bármely nvarchar típusú érv legfeljebb 4000 karakterből áll (nvarchar(<= 4000)) | nvarchar(<= 4000) |
| 4. Minden más esetben | bármely Varchar típusú argumentum, amely legfeljebb 8000 karakterből áll (varchar(<= 8000)), hacsak az egyik paraméter bármilyen hosszúságú nvarchar . Ebben az esetben CONCATnvarchar(max) típusú eredményt ad. |
Amikor CONCATnvarchar bemeneti argumentumokat kapunk a hossz <= 4000 karakterrel, vagy a varchar bemeneti argumentumokat a hossz <= 8000 karakterrel, implicit átváltások befolyásolhatják az eredmény hosszát. Más adattípusok eltérő hosszúságúak, ha implicit módon láncsorokká alakítják őket. Például egy értékű int14 sorhossza 2, míg egy értékű1234.56789 float sorhossza 7 (1234.57). Ezért e két érték összekötése nem kevesebb, mint 9 karakter hosszú eredményt eredményez.
Ha egyik bemeneti argumentum sem rendelkezik támogatott nagy objektum (LOB) típussal, akkor a visszaküldési típus 8 000 karakterre csökken, függetlenül a visszaküldés típusától. Ez a csorítás megőrzi a helyet és támogatja a terv generálásának hatékonyságát.
CONCAT távolról futtatható egy SQL Server 2012 (11.x) és újabb verziókat futtató összekapcsolt szerveren. Régebbi összekapcsolt szervereknél a CONCAT művelet helyben történik, miután a csatlakoztatott szerver visszaadja a nem összekapcsolt értékeket.
Példák
A. Használd a CONCAT-ot
SELECT CONCAT ('Happy ', 'Birthday ', 11, '/', '25') AS Result;
Itt van az eredmények összessége.
Result
--------------------
Happy Birthday 11/25
B. Használj CONCAT-ot NULL értékekkel
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;
Itt van az eredmények összessége.
Result
------------
NameLastname