SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)

Détermine si les résultats de concaténation sont considérés comme des valeurs nulles ou des chaînes vides.

Important

Dans une future version de SQL Server CONCAT_NULL_YIELDS_NULL sera toujours ON et toute application qui définira explicitement l'option à OFF générera une erreur. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

SET CONCAT_NULL_YIELDS_NULL { ON | OFF } 

Notes

Si SET CONCAT_NULL_YIELDS_NULL a la valeur ON, la concaténation d'une valeur NULL avec une chaîne retourne un résultat NULL. Par exemple, SELECT 'abc' + NULL donne NULL. Si SET CONCAT_NULL_YIELDS_NULL a la valeur OFF, la concaténation d'une valeur NULL avec une chaîne renvoie la chaîne ; la valeur NULL est considérée comme une chaîne vide. Par exemple, SELECT 'abc' + NULL donne abc.

Si SET CONCAT_NULL_YIELDS n'est pas spécifié, la valeur de l'option de base de données CONCAT_NULL_YIELDS_NULL est appliquée.

Notes

SET CONCAT_NULL_YIELDS_NULL équivaut au paramètre CONCAT_NULL_YIELDS_NULL de ALTER DATABASE.

L'option SET CONCAT_NULL_YIELDS_NULL est définie lors de l'exécution, et non pas durant l'analyse.

SET CONCAT_NULL_YIELDS_NULL doit avoir la valeur ON lors de la création ou de la modification d'index dans des colonnes calculées ou des vues indexées. Si SET CONCAT_NULL_YIELDS_NULL a la valeur OFF, toute instruction CREATE, UPDATE, INSERT ou DELETE dans des tables comportant des index de colonnes calculées ou de vues indexées échoue. Pour plus d'informations sur les valeurs requises des options SET dans des vues indexées et des index de colonnes calculées, voir « Considérations sur l'utilisation de l'instruction SET » dans la rubrique SET (Transact-SQL).

Lorsque CONCAT_NULL_YIELDS_NULL a la valeur OFF, la concaténation de chaîne est impossible au-delà des limites du serveur.

Exemples

L'exemple suivant illustre l'utilisation des deux paramètres 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