FR模块的语法汇总問題請教

您好:參考

https://help.finereport.com/doc-view-1848.html

2.2 SQL 中调用公式,

举个调用 FR 中 format 的例子:

select ${"'"+format(p1,"yyyy-MM-dd")+"'"} from aa 

如果漏掉 format 函数前后的单引号,就会得到错误的结果。其实有的时候可以通过一些方法简化处理的,比如再声明一个变量 p2,引用这个变量的定义是 format(p1,"yyyy-MM-dd"),这时候上面的 SQL 就变成了select '${p2}' from aa 




Q1.請問「聲明一個變量」P2, 要在哪邊聲明? 可以在同一個 f{x}語法框聲明嗎?

Q2.那聲明後,是在同一個f{x}語法框內 做

          select '${p2}' from aa 

            引用这个变量的定义是,format(p1,"yyyy-MM-dd")

可否有完整說明

謝謝!


简道云 taken 发布于 2020-9-13 09:25
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
LarryAbbyLv5中级互助
发布于2020-9-13 09:30(编辑于 2020-9-13 09:31)

p2这个变量你可以直接是模板数据集里什么的,你直接写select ${p2} from aa 就可以

1.png


  • taken taken(提问者) 您好,1.所以這是在ds數據集做的嗎?還是在F{x}
    2.若sql回傳多筆 會如何?
    3.有了p2的參數值,他才會 給外面f{x}的 format(p2,\"yyyy-MM-dd\") 來使用?
    4.同樣的我是否可以:pxx 要先設定模板參數,並在f{x}內 設定 pxx=format(p1,\"yyyy-MM-dd\") ? 最後在 len(pxx)呢? 謝謝
    2020-09-13 09:58 
  • LarryAbby LarryAbby 回复 taken(提问者) 如果你是先在sql中根据时间来做筛选,只需要直接用下面这种就可以,在模板数据集里直接使用 SELECT * FROM 表 WHERE 1=1 AND FAULT_START_DATE>=TO_DATE(\'${参数名}\',\'YYYY-MM-DD HH24:MI:SS\')
    2020-09-13 12:41 
  • taken taken(提问者) 回复 LarryAbby 您好:謝謝您˙,在SQL 中使用${},有在用中。
    1.目前我較有問題的事,他回傳${P2}, P2多筆,該如何接? P2如何被用
    2.因為有時候f{x},函數,需要多做幾次 組合才會得到結果,我是想問,如何用p2=today(); 然後再 format(p2,\"yyyy-MM-dd\") (這邊用日期只是舉例,要解釋我想要分段做)。謝謝
    2020-09-13 15:54 
  • 2关注人数
  • 355浏览人数
  • 最后回答于:2020-9-13 09:31
    请选择关闭问题的原因
    确定 取消
    返回顶部