SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)
Determina se i risultati della concatenazione di valori Null vengono gestiti come valori Null o valori di stringa vuota.
Importante |
---|
In una versione futura di SQL Server l'opzione CONCAT_NULL_YIELDS_NULL sarà sempre impostata su ON e qualsiasi applicazione che la imposta in modo esplicito su OFF restituirà un errore. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. |
Convenzioni della sintassi Transact-SQL
Sintassi
SET CONCAT_NULL_YIELDS_NULL { ON | OFF }
Osservazioni
Quando l'opzione SET CONCAT_NULL_YIELDS_NULL è impostata su ON, la concatenazione di un valore Null con una stringa restituisce NULL. Ad esempio, SELECT 'abc' + NULL restituisce NULL. Quando l'opzione SET CONCAT_NULL_YIELDS_NULL è impostata su OFF, la concatenazione di un valore Null con una stringa restituisce la stringa stessa (il valore Null viene considerato una stringa vuota). Ad esempio, SELECT 'abc' + NULL restituisce abc.
Se SET CONCAT_NULL_YIELDS_NULL non è specificata, si applica l'impostazione dell'opzione di database CONCAT_NULL_YIELDS_NULL.
[!NOTA]
L'impostazione dell'opzione SET CONCAT_NULL_YIELDS_NULL è uguale all'impostazione di CONCAT_NULL_YIELDS_NULL di ALTER DATABASE.
L'opzione SET CONCAT_NULL_YIELDS_NULL viene impostata in fase di esecuzione, non in fase di analisi.
È necessario che l'opzione SET CONCAT_NULL_YIELDS_NULL sia impostata su ON durante la creazione o la modifica di indici in colonne calcolate o viste indicizzate. Se l'opzione SET CONCAT_NULL_YIELDS_NULL è impostata su OFF, qualsiasi istruzione CREATE, UPDATE, INSERT e DELETE eseguita in tabelle con indici su colonne calcolate o viste indicizzate avrà esito negativo. Per ulteriori informazioni sulle impostazioni dell'opzione SET necessarie per viste indicizzate e indici nelle colonne calcolate, vedere la sezione relativa alle considerazioni sull'utilizzo delle istruzioni SET in Istruzioni SET (Transact-SQL).
Quando l'opzione CONCAT_NULL_YIELDS_NULL è impostata su OFF, la concatenazione delle stringhe in più server non può verificarsi.
Esempi
Nell'esempio seguente viene illustrato l'utilizzo di entrambe le impostazioni SET CONCAT_NULL_YIELDS_NULL.
PRINT 'Setting CONCAT_NULL_YIELDS_NULL ON';
GO
-- SET CONCAT_NULL_YIELDS_NULL ON and testing.
SET CONCAT_NULL_YIELDS_NULL ON;
GO
SELECT 'abc' + NULL ;
GO
-- SET CONCAT_NULL_YIELDS_NULL OFF and testing.
SET CONCAT_NULL_YIELDS_NULL OFF;
GO
SELECT 'abc' + NULL;
GO