一条查询语句,字段后面等于日期能够查询到结果,字段后面用like加变量查询不到结果

select cinvcode,iquantity,iunitcost,iprice,dbkeepdate from rdrecords11 where cinvcode='10401010610'  and dbkeepdate = '2022-04-30 00:00:00.000' ////能够得出结果

select cinvcode,iquantity,iunitcost,iprice,dbkeepdate from rdrecords11 where cinvcode='10401010610'  and dbkeepdate like '${DJRQ}% 00:00:00.000' ////不显示结果

请教是什么原因?

heyer1 发布于 2022-7-23 17:04
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-7-23 17:24(编辑于 2022-7-23 18:50)

你的这个日期是日期类型的吧。那么你要转换成文本格式后再用like就行了。。。不知道你的数据库是什么。你自己搜索你对应的数据库转换成文本的函数就行

  比如oracel使用to_char,,,你自己改成你的数据库格式化日期的函数就行。我这个是用oracel做为示例而已,mysql使用DATE_FORMAT。sql server使用CONVERT

image.png

还有你的语句如果想是日期后面全是00的时分秒的话。要这样

where to_char(BALANCEDATE,'YYYY-MM-DD HH24:MI:SS') like '2018-11-12 00:00:00%'

----------------------------------图片----------------

image.png

如果你要用参数。。就在数据集中这样写

  where to_char(BALANCEDATE,'YYYY-MM-DD HH24:MI:SS')

  like '${CONCATENATE(rqcs," 00:00:00%")}'

------------------------图片-------------------------

image.png

  • 2关注人数
  • 363浏览人数
  • 最后回答于:2022-7-23 18:50
    请选择关闭问题的原因
    确定 取消
    返回顶部