SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)
Управляет представлением результатов объединения в виде значений NULL или пустых строковых значений.
Важно! |
---|
В будущей версии параметр SQL Server CONCAT_NULL_YIELDS_NULL всегда будет иметь значение ON, а приложения, явно присваивающие ему значение OFF, будут вызывать ошибку. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. |
Синтаксические обозначения в 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_NULL не указано, применяется параметр базы данных 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