나는이 두 개의 매개 변수가있는 저장 프로 시저 :조건부 어디 기간 동안의 SQL에서 절
WHERE (dbo.Vacancies.StartDate >= @PublishedFrom
OR @PublishedFrom IS NULL)
하지만 경우를 : 나는 PublishedDeadline
가 null의 경우 다음 WHERE
조건이 있어야한다고합니다
@PublishedFrom SMALLDATETIME = NULL,
@PublishedDeadline SMALLDATETIME = NULL
을 PublishedDeadline
이 비어 있지 않다면
WHERE v.startdate <= @PublishedDeadline
and @PublishedFrom <= v.EndDate
01과 같아야합니다.어떻게 SQL에서 조건부 절을 적용 할 수 있습니까?
WHERE (PublishedDeadline IS NULL
AND (
dbo.Vacancies.StartDate >= @PublishedFrom
OR @PublishedFrom IS NULL
) OR (
PublishedDeadline IS NOT NULL
AND v.startdate <= @PublishedDeadline
AND @PublishedFrom <= v.EndDate
)
당신이 저장 프로 시저에서 작업하기 때문에 단지 다른 조건
OR 후에 Publishedfrom이 두 번째 부분에 null이 아닌지 확인해야하나요? – DotnetSparrow
쿼리가 어떻게 동작하는지에 따라 달라집니다. 당신의 의도에 대한 모든 정보가 없으면 나는이 질문에 대답 할 수 없습니다. 그러나, 나는 'NULL <= something'과 같은 비교가'NULL' 결과를 줄 것이라고 말할 수 있습니다. – Alexander
@DotnetSparrow 잘 모르겠 으면'PublishedDeadline IS NOT NULL' 후'AND PublishedF NOT IS NOT NULL'을 추가하십시오 – Alexander