SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)

Управляет представлением результатов сцепления в виде значений NULL или пустых строковых значений.

ms176056.note(ru-ru,SQL.90).gifВажно!
В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

SET CONCAT_NULL_YIELDS_NULL { ON | OFF } 

Замечания

Когда параметр SET CONCAT_NULL_YIELDS_NULL установлен в ON, сцепление значения NULL со строкой дает в результате NULL. Например, SELECT 'abc' + NULL дает в результате NULL. Когда параметр SET CONCAT_NULL_YIELDS_NULL установлен в значение OFF, сцепление значения NULL со строкой дает в результате исходную строку (значение NULL рассматривается как пустая строка). Например, SELECT 'abc' + NULL дает в результате abc.

Если параметр SET CONCAT_NULL_YIELDS не определен, применяется параметр базы данных CONCAT_NULL_YIELDS_NULL.

ms176056.note(ru-ru,SQL.90).gifПримечание.
SET CONCAT_NULL_YIELDS_NULL — это такая же установка, что и установка CONCAT_NULL_YIELDS_NULL для ALTER DATABASE.

Настройка SET CONCAT_NULL_YIELDS_NULL устанавливается во время выполнения или запуска, но не во время синтаксического анализа.

Параметр SET CONCAT_NULL_YIELDS_NULL должен быть в состоянии ON при создании или изменении индексов в вычисляемых столбцах или индексированных представлениях. Если параметр SET CONCAT_NULL_YIELDS_NULL установлен в OFF, любое применение инструкций CREATE, UPDATE, INSERT и DELETE к таблицам с индексами на вычисляемых столбцах или к индексированным представлениям завершится ошибкой. Дополнительные сведения об установке необходимых параметров SET для индексированных представлений и индексов на вычисляемых столбцах см. в разделе «Использование инструкций SET» в разделе SET (Transact-SQL).

Когда параметр CONCAT_NULL_YIELDS_NULL установлен в OFF, сцепление строк через границы сервера становится невозможным.

Примеры

Следующий пример демонстрирует использование обеих настроек 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

См. также

Справочник

SET (Transact-SQL)
SESSIONPROPERTY (Transact-SQL)

Другие ресурсы

Установка параметров базы данных

Справка и поддержка

Получение помощи по SQL Server 2005