Condividi tramite


Operatore di concatenazione delle stringhe (Motore di database)

L'operatore di concatenazione delle stringhe è il segno più (+). È possibile combinare, o concatenare, due o più stringhe di caratteri in una sola stringa, nonché concatenare stringhe binarie. Di seguito viene riportato un esempio di concatenazione:

SELECT ('abc' + 'def');

Set di risultati:

------

abcdef

(Righe interessate: 1)

Nella query riportata di seguito vengono visualizzati i nomi dei primi quattro contatti disponibili nella colonna Moniker, ordinati in base a cognome e nome, con una virgola e uno spazio dopo il cognome.

USE AdventureWorks2008R2;
GO
SELECT LastName + ', ' + FirstName AS Moniker 
FROM Person.Person
WHERE BusinessEntityID < 5;

Set di risultati:

Moniker

-------------------------

Achong, Gustavo

Abel, Catherine

Abercrombie, Kim

Acevedo, Humberto

(Righe interessate: 4)

Altri tipi di dati, ad esempio datetime e smalldatetime, per essere concatenati in una stringa devono essere convertiti in stringhe di caratteri utilizzando la funzione di conversione CAST.

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

Set di risultati:

---------------------------------------

The due date is Jul 13 2005 12:00AM

(1 riga interessata)

La stringa vuota ('') viene valutata come spazio singolo:

SELECT 'abc' + '' + 'def';

Set di risultati:

-------

abcdef

(Righe interessate: 1)

Nota

Una stringa vuota ('') può essere interpretata come spazio singolo o come carattere vuoto a seconda dell'impostazione del livello di compatibilità del database. . In questo esempio, se il livello di compatibilità è 65, i valori letterali vuoti vengono considerati come uno spazio singolo.

Quando alle stringhe di input sono associate le stesse regole di confronto, tali regole di confronto vengono associate anche alla stringa di output. Quando invece alle stringhe di input sono associate regole di confronto diverse, le regole di confronto della stringa di output vengono determinate in base alla precedenza delle regole di confronto. È inoltre possibile assegnare regole di confronto specifiche utilizzando la clausola COLLATE.