Хорошо, я знаю, что CONCAT_NULL_YIELDS_NULL всегда будет иметь значение ON в будущих версиях SQL (вставьте параметры поиска MSDN (yadda, yadda)), так что терпите меня.
Скучные детали: платформа MSSQL 2000 Enterprise (v8 sp4) AKA Critatious Period Edition.
Следующее будет иметь значение NULL
SELECT 'abc' + NULL;
Понятный. Но вы можете обойти это с помощью следующего:
SET CONCAT_NULL_YIELDS_NULL OFF;
SELECT 'abc' + NULL;
В этом случае результат «abc». С этого момента будущие операторы sql будут разрешать сцепление с NULL. Но это «постоянный» параметр времени выполнения? Например, применяется ли этот параметр только для моего сеанса на сервере SQL или он применяется к операторам, выполняемым всеми пользователями?
Насколько я могу судить, после установки _YIELDS_NULL в значение ON для перезапуска служб MSSQL по умолчанию будет возвращено значение OFF (исправьте, если я ошибаюсь).
Последнее: я на самом деле не планирую применять это на практике. Сторонняя хранимая процедура завершилась неудачно (похоже, они обновили ее, сломав ее). Лучшее, что я могу понять, - это то, что они реализовали это с предположением, что «SET CONCAT_NULL_YIELDS_NULL» было установлено на ON . И это всегда работало.
Я просто ищу причину: есть ли способ установить CONCAT_NULL_YIELDS_NULL на ON при запуске сервера SQL?