Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Sql Server 2025 (17.x)
Database
SQL di Azure Istanza
gestita di SQL di Azurein Microsoft Fabric
La ||= concatenazione con l'operatore di assegnazione composta può essere usata per concatenare un'espressione con il valore di una variabile di stringa binaria o carattere e quindi assegnare l'espressione risultante alla variabile.
L'operatore ||= supporta lo stesso comportamento dell'operatore+= per stringhe di caratteri e binari.
Convenzioni relative alla sintassi Transact-SQL
Syntax
variable ||= expression
Arguments
variable
Variabile T-SQL di tipo carattere: char, varchar, nchar, nvarchar, varchar(max)o nvarchar(max)o di tipo binario: binary o varbinary(max).
expression
Un carattere o un'espressione binaria. Se l'espressione non è del tipo di carattere, il tipo dell'espressione deve essere in grado di essere convertito in modo implicito in una stringa di caratteri.
Tipi restituiti
Assegna il risultato dell'operatore di concatenazione per le stringhe di caratteri alla variabile.
- Se la variabile o l'espressione è un valore SQL
NULL, il risultato dell'espressione concatenata èNULL. - Se la variabile è di un tipo di dati LOB (Large Object) (varchar(max) o nvarchar(max),l'espressione risultante è varchar (max) o nvarchar(max).
- Se la variabile è di tipo LOB varbinary(max),l'espressione risultante è di varbinary(max).
- Se la variabile non è un tipo LOB, il risultato viene troncato alla lunghezza massima del tipo dichiarato della variabile.
Remarks
Se il risultato della concatenazione di stringhe supera il limite di 8.000 byte, il risultato viene troncato. Tuttavia, se almeno una delle stringhe concatenate è un tipo valore di grandi dimensioni, il troncamento non si verifica.
Per la concatenazione di stringhe binarie e dei caratteri tra le stringhe binarie, è necessario eseguire una conversione esplicita in dati di tipo carattere.
L'operatore ||= pipe è disponibile in Istanza gestita di SQL di Azure con i criteri di aggiornamentodi SQL Server 2025 o Always-up-to-date.
Stringhe e caratteri di lunghezza zero
L'operatore ||= (concatenazione di stringhe) si comporta in modo diverso quando funziona con una stringa vuota e di lunghezza zero rispetto a quando funziona con NULLo valori sconosciuti. Una stringa di caratteri di lunghezza zero può essere specificata con due virgolette singole senza alcun carattere all'interno delle virgolette. Una stringa binaria di lunghezza zero può essere specificata come 0x senza valori di byte specificati nella costante esadecimale. La concatenazione di una stringa di valore zero comporta sempre la concatenazione delle due stringhe specificate.
Concatenazione di valori NULL
Come per le operazioni aritmetiche eseguite sui NULL valori, quando un NULL valore viene aggiunto a un valore noto, il risultato è in genere un NULL valore. Un'operazione di concatenazione di stringhe eseguita con un NULL valore deve produrre anche un NULL risultato.
L'operatore ||= non rispetta l'opzione SET CONCAT_NULL_YIELDS_NULL e si comporta sempre come se il comportamento SQL ANSI sia abilitato, producendo NULL se uno degli input è NULL. Questa è la differenza principale nel comportamento tra gli += operatori di concatenazione e ||= . Per altre informazioni, vedere SET CONCAT_NULL_YIELDS_NULL.
Examples
A. Usare la concatenazione con l'assegnazione composta per le stringhe
DECLARE @v1 varchar(10) = 'a'
SET @v1 ||= 'b';
SELECT @v1
Il set di risultati è il seguente.
ab
B. Usare la concatenazione con l'assegnazione composta per i dati binari
DECLARE @v2 varbinary(10) = 0x1a;
SET @v2 ||= 0x2b;
select @v2;
Il set di risultati è il seguente.
0x1A2B
Contenuti correlati
- || (Concatenazione di stringhe) (Transact-SQL)
- + (concatenazione di stringhe) (Transact-SQL)
- += (assegnazione di concatenazione di stringhe) (Transact-SQL)
- ALTER DATABASE (Transact-SQL)
- CAST e CONVERT (Transact-SQL)
- Conversione dei tipi di dati (motore di database)
- Tipi di dati (Transact-SQL)
- Espressioni (Transact-SQL)
- Funzioni predefinite (Transact-SQL)
- Operatori (Transact-SQL)
- SELECT (Transact-SQL)
- Istruzioni SET (Transact-SQL)