В 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