ureport报表中,想要查询开始时间(start,日期字段)在某日期区间内的全部数据,写的sql语句为:select * from 数据库 where start between :s_date and e_date,查询时,明明有符合要求的数据,却查询不到是为什么?
-
ureport报表中,日期作为查询条件查不到数据?
@初秋荷包蛋 start为日期字段,除了系统字段如create_time、update_date等日期外,自定义的日期在数据库中存储的是时间戳的格式,自然是无法与日期进行比较查询的,想要实现这一目的,需要先转换日期格式,并在查询条件中用转换后的内容进行比较。具体以下面例子进行说明:
想要查询start在某日期区间之间的所有数据:
1.设置日期区间的参数:
2.在sql语句中进行日期的格式转换并写出查询条件:
SELECT dateif_ff8x423s.*, ifnull(from_unixtime(substr(start
, 1, 10),'%Y-%m-%d %H:%i:%s'),'') start1,ifnull(from_unixtime(substr(mid
, 1, 10),'%Y-%m-%d %H:%i:%s'),'') mid1,ifnull(from_unixtime(substr(end
, 1, 10),'%Y-%m-%d %H:%i:%s'),'') end1 from dateif_ff8x423s where from_unixtime(substr(start
, 1, 10),'%Y-%m-%d %H:%i:%s') between :start_date and :end_date
3.配置查询条件
保存后预览数据,输入查询条件即可出现符合条件的数据:
最近的话题