在sql中使用month函数获取月份的问题

在sql中使用month函数获取月份进行拼接参数,选择不同的日期是不会实时更新,是不是month函数有问题,输入不同的月份,预览出来的sql是对的,能查出不同的数据,但是页面上不会变化,是什么原因

${if(month(日期)=1||month(日期)=2||month(日期)=3,'','/*')}select case when nvl(b.数值, 0) = 0 then 0 else nvl(a.数值, 0) / b.数值 end 资产负债率from JYZB_1 a         left join (select *                    from JYZB_1                    where 日期 = '${left(日期,4)}'                      and 报告日期 = '第一季度报告'                      and 币种 = '人民币'                      and 指标名称 = '期末资产总计'                      and 公司名称 = '') b on a.日期 = b.日期where a.日期 = '${left(日期,4)}'  and a.报告日期 = '第一季度报告'  and a.币种 = '人民币'  and a.指标名称 = '负债合计'  and a.公司名称 = ''${if(month(日期)=1||month(日期)=2||month(日期)=3,'','*/')}${if(month(日期)=4||month(日期)=5||month(日期)=6,'','/*')}select case when nvl(b.数值, 0) = 0 then 0 else nvl(a.数值, 0) / b.数值 end 资产负债率from JYZB_1 a         left join (select *                    from JYZB_1                    where 日期 = '${left(日期,4)}'                      and 报告日期 = '中报'                      and 币种 = '人民币'                      and 指标名称 = '期末资产总计'                      and 公司名称 = '') b on a.日期 = b.日期where a.日期 = '${left(日期,4)}'  and a.报告日期 = '中报'  and a.币种 = '人民币'  and a.指标名称 = '负债合计'  and a.公司名称 = ''${if(month(日期)=4||month(日期)=5||month(日期)=6,'','*/')}${if(month(日期)=7||month(日期)=8||month(日期)=9,'','/*')}select case when nvl(b.数值, 0) = 0 then 0 else nvl(a.数值, 0) / b.数值 end 资产负债率from JYZB_1 a         left join (select *                    from JYZB_1                    where 日期 = '${left(日期,4)}'                      and 报告日期 = '第三季度报告'                      and 币种 = '人民币'                      and 指标名称 = '期末资产总计'                      and 公司名称 = '') b on a.日期 = b.日期where a.日期 = '${left(日期,4)}'  and a.报告日期 = '第三季度报告'  and a.币种 = '人民币'  and a.指标名称 = '负债合计'  and a.公司名称 = ''${if(month(日期)=7||month(日期)=8||month(日期)=9,'','*/')}${if(month(日期)=10||month(日期)=11||month(日期)=12,'','/*')}select case when nvl(b.数值, 0) = 0 then 0 else nvl(a.数值, 0) / b.数值 end 资产负债率from JYZB_1 a         left join (select *                    from JYZB_1                    where 日期 = '${left(日期,4)}'                      and 报告日期 = '年报'                      and 币种 = '人民币'                      and 指标名称 = '期末资产总计'                      and 公司名称 = '') b on a.日期 = b.日期where a.日期 = '${left(日期,4)}'  and a.报告日期 = '年报'  and a.币种 = '人民币'  and a.指标名称 = '负债合计'  and a.公司名称 = ''${if(month(日期)=10||month(日期)=11||month(日期)=12,'','*/')}

FineReport 用户SdEwh8652225 发布于 2023-12-1 10:55 (编辑于 2023-12-1 10:59)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CT1448Lv5中级互助
发布于2023-12-1 10:56(编辑于 2023-12-1 10:59)

参数名用对了嘛?预览选择参数后看一下报表调试助手里执行的SQL是否正确?

  • 用户SdEwh8652225 用户SdEwh8652225(提问者) sql放了
    2023-12-01 10:59 
  • 用户SdEwh8652225 用户SdEwh8652225(提问者) 预览的sql没问题,查数据库都可以
    2023-12-01 11:03 
  • CT1448 CT1448 回复 用户SdEwh8652225(提问者) ${if(month(日期)=\'01\'||month(日期)=\'02\'||month(日期)=\'03\',\'\',\'/*\')}
    2023-12-01 11:19 
  • CT1448 CT1448 回复 用户SdEwh8652225(提问者) 日期控件是YYYY-MM-DD格式的话,
    2023-12-01 11:20 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-12-1 10:57

sql放出来看看啊

最佳回答
0
ID1208Lv6高级互助
发布于2023-12-1 10:57

1、参数名与控件名是否保持一致

2、控件数据格式是否与数据库字段格式一致

  • 4关注人数
  • 227浏览人数
  • 最后回答于:2023-12-1 10:59
    请选择关闭问题的原因
    确定 取消
    返回顶部