У меня есть следующие SQL хранимую процедуруSQL заявление СЛУЧАЯ для булевых значений
@Text varchar(max),
@isArchived varchar(10)
SELECT *
FROM [Table1]
WHERE [StringText] = @ AND [isArchived] =
(CASE
WHEN @isArchived = 'ALL' THEN ???
WHEN @isArchived = 'Yes' THEN 1
WHEN @isArchived = 'No' THEN 0
END)
Моя проблема заключается в том, что isArchived имеет тип бита в таблице, и на веб-странице у меня есть DropDownList с тремя значениями для isArchived : ALL, Да, нет.
для Yes
это 1 (истина), для No
это 0 (ложь), но не уверен, что положить в эту строку: WHEN @isArchived = 'ALL' THEN ???
идеально было бы полностью игнорировать эту строку AND [isArchived] = @isArchived
но не убедитесь, что это синтаксис для этого.
Спасибо. Это и было :) Я думаю, что все должно быть хорошо, оно будет помещено в отчет SSRS. –