Udostępnij za pośrednictwem


Operator łączenie ciągów (aparat bazy danych)

Operator łączenie ciąg jest znak plus (+).Połączyć lub złączyć dwie lub więcej ciągów znaków w ciąg pojedynczy znak.Użytkownik może również ciągów binarnych.Poniżej przedstawiono przykład łączenie:

SELECT ('abc' + 'def');

Here is the result set.

------
abcdef

(1 row(s) affected)

Następująca kwerenda wyświetla nazwy pierwsze cztery kontaktów, w obszarze Moniker kolumna Nazwisko, imię zamówienie, z jest przecinek i spacja po nazwie ostatniego.

USE AdventureWorks;
GO
SELECT LastName + ', ' + FirstName AS Moniker 
FROM Person.Contact
WHERE ContactID < 5;

Here is the result set.

Moniker
-------------------------
Achong, Gustavo
Abel, Catherine
Abercrombie, Kim
Acevedo, Humberto

(4 row(s) affected)

Inne typy danych, takich jak na datetime i smalldatetime, należy przekonwertować na ciągi znaków przy użyciu funkcja konwersji CAST przed ich może być tak łączone, za pomocą ciąg znaków.

USE AdventureWorks;
GO
SELECT 'The due date is ' + CAST(DueDate AS varchar(128))
FROM Sales.SalesOrderHeader
WHERE SalesOrderID = 43659;
GO

Here is the result set.

---------------------------------------
The due date is Jul 13 2001 12:00AM

(1 row(s) affected)

Ciąg pusty ("") jest wyznaczana jako pojedyncza spacja:

SELECT 'abc' + '' + 'def'

Here is the result set.

-------
abcdef

(1 row(s) affected)

Uwaga

Czy jest interpretowana jako pojedynczy znak pusty ciąg pusty ("") lub jako znak pusty jest określona przez ustawienie poziom zgodności z sp_dbcmptlevel.Na przykład jeśli sp_dbcmptlevel 65, literały puste są traktowane jako jeden pusty.

Podczas wprowadzania ciągów obu mają te same sortowanie, ciąg wyjściowy ma ten sam sortowanie jako danych wejściowych.Gdy ciągów wejściowych mają różne metody sortowanie, reguły o priorytecie sortowanie określają sortowanie ciąg danych wyjściowych.Można także przypisać sortowanie określonych przy użyciu klauzula COLLATE.