sql-server-2008 – 将日期与sql server中的null和datetime值进
发布时间:2020-12-12 08:58:00 所属栏目:MsSql教程 来源:网络整理
导读:我正在编写程序,我希望使用从日期到日期的小日期时间来过滤日期. 从某个时候起,日期可以为null,而在比较时,To Date也可以为null 当日期或日期可以为空时,过滤日期. 我试过以下查询,但它给了我错误. SELECT RQ.int_REPS_QUES_DIFF_LEVEL,SUM(1) AS NoOFDificul
我正在编写程序,我希望使用从日期到日期的小日期时间来过滤日期.
从某个时候起,日期可以为null,而在比较时,To Date也可以为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 我在收到错误 THEN dat_STUD_EXAM_FINALEND >= @FromDate AND dat_STUD_EXAM_FINALEND <= @ToDate 这行我告诉我哪里出错了 解决方法代替WHEN @FromDate!=NULL AND @ToDate!=NULL 使用 WHEN @FromDate IS NOT NULL AND @ToDate IS NOT NULL IS [NOT] NULL 如果某些内容为NULL,则在T-SQL中未定义,因此您无法与之进行比较.如果两个(或两个)值之一为NULL,则=和!=两者都为false. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |