oracle中 查询开始和结束日期之前的数据(闭区间),通常我们从页面上获得开始日期,结束日期后使用 :DB中的日期字段>= to_date('开始日期','dd/mm/yyyy') and
DB中的日期字段<= to_date('开始日期','dd/mm/yyyy') 来获取开始日期和结束日期之间的数据,但此时往往只能是取得>=开始日期 <结束日期的数据(取得的数据不包含结束如期当天的数据),这是为什么?
原因是:DB中的date类型的字段默认是带时分秒的, 如果从页面传递过来的日期不包含时分秒,当DB中的日期字段的时分秒大于00:00:00 秒 ,DB中的日期字段就会大于结束日期,因此取不到数据。
这时,需要手动在传递过来的日期后添加时分秒,在开始日期后添加“00:00:00”,在结束日期后添加“23:59:59” ,日期format 改为:'dd/mm/yyyy hh24:mi:ss',这样就能把结束日期当天的数据也取出来了。