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