永洪社区

标题: 在where后面有case when逻辑怎么写? [打印本页]

作者: yhdata_Sw7wRTPc    时间: 2022-2-28 16:28
标题: 在where后面有case when逻辑怎么写?
一段sql where后面是
month_na = case when right(结束日期,2) < 15 then to_char(date(结束日期)-1 month,'YYYYMM') else to_char(date(结束日期),'YYYYMM') end
结束日期是引入参数的地方,这里该怎么写啊?试了很长时间都没试出来

作者: 永洪tech-Bella    时间: 2022-2-28 16:31
麻烦说一下想要的效果吧,具体逻辑是什么
作者: yhdata_Sw7wRTPc    时间: 2022-2-28 16:37
永洪tech-Bella 发表于 2022-2-28 16:31
麻烦说一下想要的效果吧,具体逻辑是什么

就是想一个判断,结束日期是一个可以选择的参数,这个参数的日期选择如果是在上半个月就取上个月的数据,如果是在下半个月就是取本月的数据
作者: 永洪tech-Bella    时间: 2022-2-28 17:01
yhdata_Sw7wRTPc 发表于 2022-2-28 16:37
就是想一个判断,结束日期是一个可以选择的参数,这个参数的日期选择如果是在上半个月就取上个月的数据, ...

不应该在这里判断呀,这里用的参数还是应该是一个
应该在报告脚本中进行判断,当参数1是上半个月,参数2是上个月,如果参数1是下半个月,参数2是本月,然后sql数据集中用参数2进行过滤,写在sql where中 (, 下载次数: 109)