У меня есть StartDate
10Столбцы в таблице, для которых они имеют значение NULL, я передам два параметра хранимой процедуре для фильтрации этой таблицы, параметры могут быть нулевыми значениями, а столбцы также являются как я уже упоминал.Отфильтровать столбец с нулевым значением для параметра с нулевым значением SQL
Как я могу написать SQL заявление, в данном случае с условным WHERE
пунктом, чтобы получить даты больше или равно StartDate
и даты меньше или равно EndDate
?
Вот что я сделал до сих пор:
SELECT StartDate, EndDate FROM Table1
WHERE (StartDate >= Convert(DateTime, @dtFrom) OR StartDate IS NOT NULL) AND
(EndDate <= Convert(DateTime, @dtTo) OR EndDate IS NOT NULL)
это не ясно, что должно произойти, когда StartDate является недействительным и '@ dtfrom' нет и когда StartDate не утративший' @ dtfrom' и когда StartDate и '@ dtfrom' является оба null. – xanatos
I второй вопрос @xanatos. Нужно ли null parm искать только null? Означает ли это, чтобы выбрать любую дату? Или...? – asantaballa
@xanatos Если 'StartDate' является нулевым, а' @ dtFrom' - нет, он должен фильтровать в соответствии с '@ dtFrom', если наоборот, он не должен фильтровать по параметру, оба значения null должны получить все. – SVI