Оператор объединения строк (компонент Database Engine)
Оператором объединения является знак плюс «+». Можно объединять две или более символьных строк в одну символьную строку. Кроме того, можно выполнять объединение двоичных строк. Ниже приведен пример объединения:
SELECT ('abc' + 'def');
Ниже приводится результирующий набор.
------
abcdef
(Обработано строк: 1)
Следующий запрос отображает имена первых четырех деловых партнеров в столбце Moniker, упорядоченных по фамилии и имени, с запятой и пробелом после последнего имени.
USE AdventureWorks2008R2;
GO
SELECT LastName + ', ' + FirstName AS Moniker
FROM Person.Person
WHERE BusinessEntityID < 5;
Ниже приводится результирующий набор.
Moniker
-------------------------
Achong, Gustavo
Abel, Catherine
Abercrombie, Kim
Acevedo, Humberto
(Обработано строк: 4)
Другие типы данных, такие как datetime и smalldatetime, перед объединением со строкой необходимо преобразовывать в символьные строки с помощью функции преобразования CAST.
USE AdventureWorks2008R2;
GO
SELECT 'The due date is ' + CAST(DueDate AS varchar(128))
FROM Sales.SalesOrderHeader
WHERE SalesOrderID = 43659;
GO
Ниже приводится результирующий набор.
---------------------------------------
The due date is Jul 13 2005 12:00AM
(Обработано строк: 1)
Эта пустая строка ('') обрабатывается как одиночный пробел:
SELECT 'abc' + '' + 'def';
Ниже приводится результирующий набор.
-------
abcdef
(Обработано строк: 1)
Примечание |
|---|
Параметр уровня совместимости базы данных определяет, каким образом будет обрабатываться пустая строка (''): как один символ пробела или как пустой символ. . В этом примере, если уровень совместимости имеет значение 65, пустые литералы рассматриваются как одиночные пробелы. |
Если у обеих входных строк одинаковые параметры сортировки, то эти же параметры будут у выходной строки. Если у входных строк разные параметры сортировки, то параметры сортировки выходной строки определяются правилами очередности параметров сортировки. Кроме того, параметры сортировки можно указать с помощью предложения COLLATE.
Примечание