mysql怎么写查询时间的范围查询?(开始时间-结束时间)

我看很多帖子说需要格式转换,我的mysql字段是datetime类型,然后时间都是2023-11-28 00:00:00这样的,我想按照开始时间和结束时间范围查询可难坏我了,请大神指教。非常感谢。我这是不是哪写错了查不出数据。image.pngimage.png

FineReport 小马奔腾 发布于 2023-11-29 09:27 (编辑于 2023-11-29 09:44)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-11-29 09:31

你这个处理下

${if(len(startdate) == 0 , "" , " and date >= '"+format(startdate,"yyyy-MM-dd 00:00:00")+"'")}

${if(len(enddate) == 0 , "" , " and date <= '"+format(enddate,"yyyy-MM-dd 23:59:59")+"'")}

  • 小马奔腾 小马奔腾(提问者) 同一字段下的也可以么?
    2023-11-29 09:37 
  • snrtuemc snrtuemc 回复 小马奔腾(提问者) 我的就是同一字段啊,同一个date 字段,date改成你自己字段名
    2023-11-29 09:39 
  • 小马奔腾 小马奔腾(提问者) 回复 snrtuemc 大神我问题附图了,查询不出数据,是不是我哪写错了。
    2023-11-29 09:45 
  • snrtuemc snrtuemc 回复 小马奔腾(提问者) 按你的截图,正常可以查询出数据,你的这个界面,点击查询按钮,什么效果,报错还是没有数据
    2023-11-29 09:49 
  • 小马奔腾 小马奔腾(提问者) 感谢大神,开始结束时间写错了。
    2023-11-29 09:50 
最佳回答
0
runnerLv7资深互助
发布于2023-11-29 09:29

${if(len(start_date) == 0 , "" , " and dispatch_date >= '"+start_date+"'")}

${if(len(end_date) == 0 , "" , " and dispatch_date <= '"+end_date+"'")}

---- 

开始时间-结束时间会选择到时间吗

  • 小马奔腾 小马奔腾(提问者) 不会选到时间值用到年月日,大神能不能再具体点,小弟有点不聪明。咱们这个不需要转换么?
    2023-11-29 09:30 
  • runner runner 回复 小马奔腾(提问者) mysql不用转化啊,可以直接这样写
    2023-11-29 09:32 
  • 小马奔腾 小马奔腾(提问者) 回复 runner 我忘记补充一个重要条件了,这是同一字段的日期数据。。。不好意思忘记说了。
    2023-11-29 09:35 
  • 小马奔腾 小马奔腾(提问者) 感谢大神!
    2023-11-29 09:50 
最佳回答
0
用户k6280494Lv6专家互助
发布于2023-11-29 09:29(编辑于 2023-11-29 09:33)
SELECT * FROM orders WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';
SELECT * FROM orders WHERE order_date BETWEEN '2023-01-01 00:00:00' AND '2023-01-01 23:59:59';

SELECT * FROM orders where DATE_FORMAT(order_date, '%Y-%m-%d')  BETWEEN  DATE_FORMAT(order_date1, '%Y-%m-%d')  and  DATE_FORMAT(order_date1, '%Y-%m-%d')

  • 3关注人数
  • 403浏览人数
  • 最后回答于:2023-11-29 09:44
    请选择关闭问题的原因
    确定 取消
    返回顶部