У меня есть SQL-запрос, который записывается в строку, а затем выполняется с помощью команды Exec (строка), например:
Declare @TestId bigint = null
Declare @Query nvarchar(max)
set @Query = 'SELECT * from Registrations where RegistrationId = 15 AND (' + CAST(@TestId AS NVARCHAR) + ' IS NULL OR TestId = ' + CAST(@TestId AS NVARCHAR) + ') '
EXEC(@Query)
Проблема теперь в том, что IS NULL неправильно анализируется внутри строки, ноКогда я удаляю IS NULL из строки, он работает правильно, а когда @TestId принимает значение, отличное от нуля, он работает правильно, когда проблема заключается в приведении IS NULL внутри строки @Query.
Примечание : @TestId - это параметр процедуры
Мне нужно знать, как заставить SQL чувствовать себя с IS NULL и правильно его анализировать
Заранее спасибо