永洪社区

标题: 数据集如何添加日期范围的参数过滤? [打印本页]

作者: ssg    时间: 2022-10-29 00:08
标题: 数据集如何添加日期范围的参数过滤?
版本:9.4
场景:页面有4个日期参数,分别是本期开始日期、本期结束日期、上期开始日期、上期结束日期,通过这四个参数计算本期值、同期值,目前是直接在页面写计算列对数据进行过滤,但是页面性能非常慢;
需求:请问是否可以在数据源上添加日期参数参与SQL的日期范围过滤(目前只找到了单值参数、多值参数的SQL过滤)~



作者: ssg    时间: 2022-10-29 00:19
select * from 表名
where  1=1
<本期开始日期> and  dt >= ?{本期开始日期} </本期开始日期>
<本期结束日期> and  dt <= ?{本期结束日期} </本期结束日期>
作者: ssg    时间: 2022-10-29 00:44
ssg 发表于 2022-10-29 00:19
select * from 表名
where  1=1
and  dt >= ?{本期开始日期}

这个是只加一层的,可以实现,但是加了两层之后,就好像不管用了
select * from 表名
where  1=1
(<本期开始日期> or  dt >= ?{本期开始日期} </本期开始日期>
<本期结束日期> and  dt <= ?{本期结束日期} </本期结束日期>)

(<上期开始日期> or  dt >= ?{上期开始日期} </上期开始日期>
<上期结束日期> and  dt <= ?{上期结束日期} </上期结束日期>  )

(<同期开始日期> or  dt >= ?{同期开始日期} </同期开始日期>
<同期结束日期> and  dt <= ?{同期结束日期} </同期结束日期>  )

作者: ssg    时间: 2022-10-29 00:45
我要把本期、上期、同期范围内的数据筛选出来,提高页面的性能
作者: ssg    时间: 2022-10-29 00:52
这样写也还是不对
select * from 表名
where  1=1
(<本期开始日期> and  dt >= ?{本期开始日期} </本期开始日期>
<本期结束日期> and  dt <= ?{本期结束日期} </本期结束日期>)
or
(<上期开始日期> and  dt >= ?{上期开始日期} </上期开始日期>
<上期结束日期> and  dt <= ?{上期结束日期} </上期结束日期>  )
or
(<同期开始日期> and  dt >= ?{同期开始日期} </同期开始日期>
<同期结束日期> and  dt <= ?{同期结束日期} </同期结束日期>  )
作者: 永洪tech-mcs    时间: 2022-10-29 09:52
https://club.yonghongtech.com/fo ... A%E5%8F%82%E6%95%B0
供参考




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4