这个文章改了三四次 没有一次 是对的 就对自己一个总结

数据库的where 条件 是一条一条对应的 比如 where  id=‘cd12’ 上来是所有的条数都去跟cd12 比较 所以当你写case when 语句时候  case when 条件 then true  只有满足这个条件的才会返回 true

数据库 oracle

页面如下图当第一次打开页面的时候  入场时间 这个筛选条件控件是没有值的如果是字符串格式 返回的可能是''(但是我在数据库中,他也识别成了null  不知道为啥)

假设入厂时间控件 id 为rc_s(开始时间) rc_e(结束时间)  日期字段为date  表名table(只是举个例子)

finereport 报表规则

select * from table  where to_char(date,'yyyy-mm-dd') between '${rc_s}' and '${rc_e}' (这么写可能很垃圾但是很爽)

如果正巧没有传进来值 页面是不展示的  要求是 打开页面展示全部的数据 添加条件在展示条件数据

(想过赋值控件初始值,呵呵我没找到咋赋值 也不会也不想找api了)

解决方案  如果是’‘ 或者null 值时 只要将这个空值 赋值成该字段的值就可以了

case when 比较好把 毕竟mysql 也可以

select * from table where
decode('${rc_s}',NULL,to_char(date,'yyyy-mm-dd'),'${rc_s}')<=to_char(date,'yyyy-mm-dd') and
decode('${rc_e}',NULL,to_char(date,'yyyy-mm-dd'),'${rc_e}')>=to_char(date,'yyyy-mm-dd')

我知道没人这么写代码因为没必要,人家都用动态sql,xml文件(现在想要查询的数据是 规定时间段内 的数据  若 一个为空就查全部,上面decode 这种写法 会导致  例如开始时间是空  他查出的数据就是 结束时间之前的所有数据  结束之后的数据是不是展示的 丢失了 结束时间之后的数据 )

oracle 无法写case when 条件 then true(这个true 不允许写 )

where 条件里面再添加  if这种判断条件 本来就是有病 只能想别的办法解决

1   对控件赋值初始值(我将finereport 输出改成了info   发现 打印出来sql  还是不会获取到 控件的值(我是6.5 ) 我根本不懂这个报表机制  就这样吧 )

2  (null 和 你给的条件比较 是false  比如  A字段 (字段内容是‘’  或者 null )  A LIKE '%%'  是查不到任何数据 )  所以要对字段 添加非空  nvl(A,'%') (前面还有个条件 因为这个字段是空的 所以我的日期也炸了 )

--   现在有一张 A表   A表字段为  T  date   时间类型  查询指定时间段 内数据
--  指定的时间段变量为  s  和 e   s和e  可能都是空的
SELECT  T FROM A WHERE (T BTWEEN '${S}' AND '${E}' OR  S IS NULL  OR E IS NULL ) 

FINEREPORT报表软件 日期时间段查询问题相关推荐

  1. mybatis之xml中日期时间段查询的sql语句

    <if test="startDate!=null and startDate!=''"> and CREATEDATE >=#{startDate}</i ...

  2. 目前国内几大著名报表软件(2014更新)

    目前国内几大著名报表软件(2014更新) cnham 2017-05-08 09:44:24 4044 已收藏 2 分类专栏: HTML和脚本 文章标签: 报表工具 最后发布:2017-05-08 0 ...

  3. 国内主流报表软件比较分析(2014最新版)

    NO1: 帆软报表(FineReport)--国内最专业的 JAVA 报表软件,企业级报表的最佳选择 软件下载地址:http://www.finereport.com/products/trial 软 ...

  4. FineReport 报表模板生成+导出Excel表格

    跟spring boot 整合 :https://blog.csdn.net/zhanglixin_1984/article/details/79194145 看官方的文档纠结了一天,好东西,这个怎么 ...

  5. 帆软Java报表软件

    帆软Java报表软件 百科名片 帆软Java报表软件 FineReport是由帆软自主 研发的一款纯Java编写的报表软件产品,集数据展示(报表)和数据录入( 表单)功能于一身,能够制作复杂的报表,操 ...

  6. java定时器参数_Java报表软件定时器参数之一

    在FineReport报表软件为例,详细介绍一下定时器的参数. 1.时间 定时器中主要用到的时间参数如下: 日报 当前日期的前一天:Format(today()-1,"yyyy-MM-dd& ...

  7. 报表软件公司悬赏 BUG,100块钱1个的真实用意

    上一篇文章我讲到,报表软件FineReport一反常态,做了个<提BUG,拿现金>的活动,1个BUG,100块钱.纵览软件行业,如金蝶用友浪潮IBM微软等国内外巨头,均没有这样的举动去征集 ...

  8. FineReport表格软件-CSS动态切换年月日查询报表

    1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 -- 1.1 预期效果 由于业务的需要,很多情况下需要当满足某个条件时,某些查询条件才显示出来,如下图所示: 1.2 实现思路 由于业务的 ...

  9. mysql 查询某个日期时间段,每天同一时间段的数据

    mysql 查询某个日期时间段,每天同一时间段的数据: SELECT * FROM t_a01_eltable WHERE DATE_FORMAT(acqtime,'%Y-%m-%d')>='2 ...

最新文章

  1. 年年英雄会,岁岁侠客行
  2. poj1503(高精度模拟加法)
  3. 心血来潮学python
  4. 4.5.3 BGP协议
  5. 悬崖边上的舞者,记7.2生产数据库灾难事件
  6. jzoj6804-NOIP2020.9.26模拟jerry【dp】
  7. 并查集(Disjiont Set)
  8. mysql大小写敏感_MySQL数据库大小写敏感的问题
  9. Discuz代码片段
  10. mysql 数据库优化
  11. 汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服
  12. 74LS151 8选1数据选择器实现4位奇偶判断电路-QuartusII 软件仿真
  13. matlab 复制 模块,想把m文件在simulink 中的调用,我用的是matlab function 模块。
  14. Excel怎么在指定文本后面插入短横线符号
  15. HIVE中 ROW_NUMBER() OVER() 函数
  16. 吴恩达机器学习18-应用实例:图片文字识别
  17. 华为服务器修改root密码,华为云服务器root权限设置密码
  18. 猫眼电影经典电影爬取
  19. Spring资源抽象Resource
  20. Minecraft 1.19.2 Forge模组开发 08.生物生成

热门文章

  1. XP系统的Python3.4.4安装pandas
  2. 计算机2013最新未来教学计划,2013计算机二维动画制作教学计划1.doc
  3. 神奇的视频压缩工具HandBrake
  4. 自动驾驶模拟软件Carla---环境搭建和编译
  5. 不能将“this”指针从“const CPaopao”转换为“CPaopao
  6. BeagleBoneBlack学习(一):BBB相关文档及链接
  7. 超级简单的解压缩方法
  8. 支持中国信用卡网购的海外好网店(希望各位坛友补充)
  9. C# 含runat=server属性 select控件的value和text赋值(实际值和显示文本)
  10. 洛谷P1304 哥德巴赫猜想