我正在编写程序,我希望使用从日期到日期的小日期时间来过滤日期.从日期开始可以为null某些时间,并且To Date也可以在某个时间为null,同时比较那么当from日期或日期可以为null时我如何过滤日期.
我试过以下查询,但它给了我错误.
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
Run Code Online (Sandbox Code Playgroud)
我在收到错误
THEN dat_STUD_EXAM_FINALEND >= @FromDate AND dat_STUD_EXAM_FINALEND <= @ToDate
Run Code Online (Sandbox Code Playgroud)
这行我告诉我哪里出错了
Tim*_*ter 11
代替
WHEN @FromDate!=NULL AND @ToDate!=NULL
Run Code Online (Sandbox Code Playgroud)
使用
WHEN @FromDate IS NOT NULL AND @ToDate IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
如果有什么东西在T-SQL中NULL是未定义的,那么你无法与它进行比较.既=和!=产量false如果两个中的一个(或两者)的值是NULL.
| 归档时间: |
|
| 查看次数: |
54315 次 |
| 最近记录: |