В SQL Server можете да свържете два или повече низа, като използвате T-SQL CONCAT() функция. Можете също да използвате оператора за конкатенация на низове на SQL Server (+ ) да направите същото. И двете са обяснени тук.
В SQL Server (и във всяка среда за компютърно програмиране) конкатенацията на низове е операция на свързване на низове от символи от край до край.
Ето един пример:
SELECT CONCAT('Peter', ' ', 'Griffin') AS 'Full Name';
Резултат:
Full Name ------------- Peter Griffin
Имайте предвид, че всъщност свързах 3 низа тук. Свързах първото име, фамилното име плюс интервал.
Ако не добавих пространството, щеше да изглежда така:
SELECT CONCAT('Peter', 'Griffin') AS 'Full Name';
Резултат:
Full Name ------------ PeterGriffin
Което може да бъде или не е резултатът, който търсите.
Така че, ако приложим това към база данни, тогава заявката може да изглежда така:
SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name' FROM Individuals WHERE IndividualId = '1';
Резултат:
Full Name ------------- Peter Griffin
Ако свързвате повече от два низа и имате нужда от интервал (или друг разделител), помислете за използването на CONCAT_WS() функция. Това ви позволява да зададете разделител, който да се използва между всеки низ. Трябва само веднъж да посочите разделителя и той се използва за всеки конкатениран низ, което ви спестява от необходимостта да го въвеждате отново между всеки низ.
NULL аргументи
Ако сте запознати с MySQL, може би знаете, че той също има CONCAT() функция. Една разлика обаче между CONCAT() на SQL Server функция и CONCAT() на MySQL функцията е как те обработват NULL аргументи.
В MySQL, CONCAT() функцията връща NULL ако някой аргумент е NULL . В SQL Server обаче можете да добавите NULL аргумент без това да доведе до NULL резултат.
MySQL
Ето какво прави MySQL:
SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';
Резултат:
+-----------+ | Full Name | +-----------+ | NULL | +-----------+
SQL сървър
Ето какво прави SQL Server:
SELECT CONCAT('Peter', NULL, 'Griffin') AS 'Full Name';
Резултат:
Full Name ------------ PeterGriffin
Друг начин за конкатенация – Операторът за конкатенация на низове (+ )
SQL Server предоставя друг начин за конкатенация на низове. Можете да използвате + оператор за конкатенация на низове.
SELECT 'Peter' + ' ' + 'Griffin' AS 'Full Name';
Резултат:
Full Name ------------- Peter Griffin