Piszę procedurę, w której chcę filtrować datę za pomocą małej daty od daty i daty. od daty może być null kilka razy, a data może być również null w pewnym momencie podczas porównywania, w jaki sposób mogę filtrować datę, kiedy data lub data ważności może być zerowa.porównaj datę z wartościami zerowymi i datetime w serwerze sql
Próbowałem następujące kwerendy, ale daje mi błąd.
SELECT RQ.int_REPS_QUES_DIFF_LEVEL,SUM(1) AS NoOFDificultyQuestion FROM
REPS_TEST_QUES_ASSIGNED RQA
INNER JOIN REPS_QUESTION RQ ON RQA.int_REPS_TEST_QUES_ASSG_QUESID=RQ.PK_REPS_QUES_ID
WHERE int_REPS_TEST_ID IN(
SELECT FK_TEST_ID FROM STUDENT_EXAM SE WHERE FK_USER_ID=56 AND SE.FK_REPS_BATCH_ID=466
and CASE
WHEN @FromDate!=NULL AND @ToDate!=NULL
THEN dat_STUD_EXAM_FINALEND >= @FromDate AND dat_STUD_EXAM_FINALEND <= @ToDate
WHEN @FromDate!=NULL AND @ToDate=NULL
THEN dat_STUD_EXAM_FINALEND >= @FromDate
WHEN @FromDate=NULL AND @ToDate!=NULL
THEN dat_STUD_EXAM_FINALEND <= @ToDate
END
)
strong textGROUP BY RQ.int_REPS_QUES_DIFF_LEVEL
Dostaję błąd w
THEN dat_STUD_EXAM_FINALEND >= @FromDate AND dat_STUD_EXAM_FINALEND <= @ToDate
ta linia proszę mi powiedzieć, gdzie jestem coraz źle
pamiętać, że można 'zestaw ANSI_NULLS OFF' aby zmienić zachowanie' = 'tak, że zwraca true przy porównywaniu dowolną wartość NULL przeciwko NULL, a także dokonywanie porównań (' <', '> = ', etc.) PRAWDA przy porównywaniu wartości nie-NULL z NULL. Zobacz [MSDN] (https://msdn.microsoft.com/en-us/library/ms188048.aspx). Pamiętaj, że to ustawienie zostanie usunięte w przyszłej wersji, a jego użycie zdecydowanie nie jest zalecane. – MarioDS