Я бью себя головой об стену здесь ... не могу придумать, как это осуществить.
Вот мои настройки:
В моей таблице есть столбец длядата что-то было завершено.Если оно никогда не было заполнено, поле будет пустым.Достаточно просто.
На передней панели у меня есть флажок, который по умолчанию установлен на «Показывать только неполные записи».Когда тянут только неполные записи, это легко.
SELECT
*
FROM Sometable
WHERE Completed_Date IS NULL
Но предложение флажка усложняет ситуацию.Мой флажок вводит битовое значение: 1 = показывать только неполное, 0 = показывать все.
Проблема в том, что я не могу использовать инструкцию CASE в предложении where, потому что фактическое значение использует "=" длясравнить, и проверка нуля использует "IS".Например:
SELECT
*
FROM Sometable
WHERE Completed_Date IS <---- invalid syntax
CASE WHEN
...
END
SELECT
*
FROM Sometable
WHERE Completed_Date =
CASE WHEN @OnlyIncomplete = 1 THEN
NULL <----- this translates to "WHERE Completed_Date = NULL", which won't work.. I have to use "IS NULL"
...
END
Есть идеи, как решить эту, казалось бы, простую задачу?Я в тупике ... спасибо.