-
-
dannistang 初学数据Lv2
发表于2019-1-10 15:09
悬赏1
已解决
楼主
如题。
bi@report中有一个创建好的日期参数框。
要根据选择好的日期算出上年末和上月末的日期,因为我需要根据这个日期写到sql数据源中
比如:
日期参数框是@data_date,我选择2018-12-25
那么普通写法写入到sql数据源中就是这样的
select col from tab where to_char(date,'yyyymmdd') = '<#=@data_date#>'
但是我现在要去年年末和上月月末的日期写到到sql中
日期参数框中选择2018-12-25,那么去年年末是2017-12-31,上月月末是2018-11-30,应该怎么写这个sql呢?
bi@report中有一个创建好的日期参数框。
要根据选择好的日期算出上年末和上月末的日期,因为我需要根据这个日期写到sql数据源中
比如:
日期参数框是@data_date,我选择2018-12-25
那么普通写法写入到sql数据源中就是这样的
select col from tab where to_char(date,'yyyymmdd') = '<#=@data_date#>'
但是我现在要去年年末和上月月末的日期写到到sql中
日期参数框中选择2018-12-25,那么去年年末是2017-12-31,上月月末是2018-11-30,应该怎么写这个sql呢?
最佳答案
dannistang 发表于 2019-1-10 15:20
参数任意选中一个日期,那么返回一个去年年末的日期和一个上月月末的日期就可以了 ...
了解一下OD函数
日期参数组件名称为@cs
去年年末:<#=od(@cs,'y-1;m=12;d=lastday')#>
上月月末:<#=od(@cs,'m-1;d=lastday')#>
4个回答
-
dannistang 初学数据Lv2
板凳
缱绻 发表于 2019-1-10 15:15
您这个去年年末就是一年中的最后一天吗?月份不需要对应吗?您举得例子稍微有点特殊 ...
参数任意选中一个日期,那么返回一个去年年末的日期和一个上月月末的日期就可以了
dannistang 发表于 2019-1-10 15:20
参数任意选中一个日期,那么返回一个去年年末的日期和一个上月月末的日期就可以了 ...
了解一下OD函数
日期参数组件名称为@cs
去年年末:<#=od(@cs,'y-1;m=12;d=lastday')#>
上月月末:<#=od(@cs,'m-1;d=lastday')#>