SELECT 部门,单位 ,创建日期
FROM View_Planb
where cast(计划结束 as datetime) between ${rqa} and ${rqb}
即使调整为
where year(cast(计划结束 as datetime)) between year(${rqa}) and year(${rqb})
查询结果也是空,,但是去掉条件,就可以
首先,两个参数应该加上单引号。
可能的问题:
1、两个参数${rqa}和${rqb}不是标准的时间格式;
2、${rqb}<${rqa};
3、【计划结束】不是标准的时间格式,转datetime时转成了1900-01-01。
排查一下
建议:sqlserver的话,涉及到时间判断按下面例句写:
where convert(varcahr(10),cast(计划结束 as date),23) between '${rqa}' and '${rqb}'
两个日期参数格式设为yyyy-MM-dd
between and
不行就改用 >= and <=
where cast(计划结束 as datetime) between '${rqa}' and '${rqb}'
这样呢?