finereport进行数据库查询的时候,要将输入的某个日期转换成输入日期的月初第一天和月末最后一天

image.png

FineReport 帆软用户E4BVaBcy79 发布于 2025-3-1 10:43 (编辑于 2025-3-1 10:49)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
snrtuemcLv8专家互助
发布于2025-3-1 10:46(编辑于 2025-3-1 10:49)

DATEINMONTH(date,number):函数返回在某一个月当中第几天的日期。

示例:

DATEINMONTH("2008-08-08",20)等于2008-08-20。

DATEINMONTH("2008-08-08",-1)等于2008-08-31。

--======

9.6 本月月末

DATEINMONTH(TODAY(),-1)

9.7 本月月初

DATEINMONTH(TODAY(),1)

================

WHERE

a.posting_date >= '${format(input_date,"yyyy-MM-01")}' AND a.posting_date <= '${format(DATEINMONTH(input_date,-1),"yyyy-MM-dd")}'

或者

WHERE

a.posting_date >= '${format(DATEINMONTH(input_date,1),"yyyy-MM-dd")}' AND a.posting_date <= '${format(DATEINMONTH(input_date,-1),"yyyy-MM-dd")}'

  • 帆软用户E4BVaBcy79 帆软用户E4BVaBcy79(提问者) 这个公式能够应用到那个报表的数据库查询里面吗?
    2025-03-01 10:47 
  • snrtuemc snrtuemc 回复 帆软用户E4BVaBcy79(提问者) 可以的,看修改答案,两个方案都可以
    2025-03-01 10:50 
  • 2关注人数
  • 14浏览人数
  • 最后回答于:2025-3-1 10:49
    请选择关闭问题的原因
    确定 取消
    返回顶部