Параметр определяет поведение операторов равно (=), не равно (<>) и in при сравнении с NULL. Подробнее см. в документации Microsoft, статью «SET ANSI_NULLS (Transact-SQL)». Решение: для сравнения с NULL используйте is null. Для сравнения объектов, значения которых могут быть пустыми, SQL-запрос нужно переписать исходя из ожидаемого результата. Пример:
|
Параметр определяет результат сложения строк, если одна из них имеет значение NULL. Подробнее см. в документации Microsoft, статью «SET CONCAT_NULL_YIELDS_NULL». Решение: используйте функцию IsNull. Примечание Сложение строк внутри инструкции EXECUTE изменять не нужно, иначе возникнет ошибка. Пример:
|
Параметр определяет, как интерпретируется текст в двойных кавычках. Подробнее см. в документации Microsoft, статью «SET QUOTED_IDENTIFIER (Transact-SQL)». Решение: все двойные кавычки, используемые для указания строк, замените на одинарные. Если внутри строки, окруженной двойными кавычками, ранее были одинарные, их нужно продублировать. Пример:
|
Некоторые объекты в базе данных при создании сохраняют параметры соединения с SQL-сервером:
• | хранимые процедуры сохраняют значения параметров QUOTED_IDENTIFIER и ANSI_NULLS. Чтобы в хранимых процедурах, не входящих в стандартную поставку, использовались необходимые значения параметров, пересоздайте ХП; |
• | таблицы сохраняют значение параметра ANSI_NULLS. Чтобы в таблице использовать фильтрованные индексы, пересоздайте таблицу со значением параметра ANSI_NULLS ON. |
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |