Оператор выбора не отображает данные, когда я изменяю значение с 0 на ноль или наоборот. Но когда я меняю данные с 0 на 1, оператор выбора начинает отображать данные.
Пожалуйста, найдите мой код (запрос)
declare @tmptable TABLE (Id INT, IsVal BIT)
INSERT Into @tmptable VALUES(1,0)
--SELECT * FROM @tmptable
DECLARE @Id INT
DECLARE @IsVal BIT
SET @Id=1
SET @IsVal=NULL
select @Id as PrimaryKeyValue
,CAST(IsVal as VARCHAR) as OldValue,CAST(ISNULL(@IsVal,'') as VARCHAR) as NewValue
,'IsVal' AS DisplayFieldName,
CASE IsVal
WHEN 1 THEN 'Yes'
WHEN 0 THEN 'No'
END as DisplayOldValue
,CASE @IsVal
WHEN 1 THEN 'Yes'
WHEN 0 THEN 'No'
END as DisplayNewValue
from @tmptable WHERE Id =@Id and ISNULL(IsVal,'')<>ISNULL(@IsVal,'')
Возникла проблема с оператором: -
ISNULL(IsVal,'')<>ISNULL(@IsVal,'')
Не могу понять, какое изменение мне нужно внести в приведенное выше утверждение, чтобы мой запрос мог работать так, как я хотел. Пожалуйста, помогите.
@ Переменная IsVal используется для установки значения.
Спасибо