SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)
Управляет представлением результатов сцепления в виде значений NULL или пустых строковых значений.
![]() |
---|
В будущей версии 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.
![]() |
---|
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)
Другие ресурсы
Установка параметров базы данных