У меня есть хранимая процедура, которая имеет два параметра:условное где положение в SQL для диапазона дат
@PublishedFrom SMALLDATETIME = NULL,
@PublishedDeadline SMALLDATETIME = NULL
Я хочу, чтобы, когда PublishedDeadline
равна нулю, то WHERE
условие должно иметь:
WHERE (dbo.Vacancies.StartDate >= @PublishedFrom
OR @PublishedFrom IS NULL)
, но если PublishedDeadline
не является пустым, то WHERE
положение должно быть как
WHERE v.startdate <= @PublishedDeadline
and @PublishedFrom <= v.EndDate
Как я могу применить условное предложение where в SQL?
Пожалуйста, предложите
Мне нужно добавить чек для PublishedFrom не является нулевой во второй части после ИЛИ? – DotnetSparrow
Это зависит от того, как вы хотите, чтобы запрос вел себя. Без всякой информации о ваших намерениях я не могу ответить на эти вопросы. Но, я могу сказать, что сравнение, подобное 'NULL <= something', даст вам результат« NULL ». – Alexander
@DotnetSparrow Если вы не уверены, просто добавьте 'AND PublishedFrom IS NOT NULL' после того, как' PublishedDeadline IS NOT NULL' – Alexander