查询的日期是本月,但实际使用的数据是上月的数据,怎么把日期自动减1,显示实际的上月日期呢?

查询的日期是本月,但实际使用的数据是上月的数据,怎么把日期自动减1,显示实际的上月日期呢?

比如查出来的日期是2023-08-07,实际使用的数据是上月的,怎么自动减1,显示实际的日期为2023-08呢?

SELECT ${switch(维度,

"月","date(last_update_date)")} '时间',

entirety_ppk

FROM `pspc_ppk_report`

where last_update_date between '${datedelta(today(),-365)}' and '${today()}'

and ce_parameter ='THICK_DIFF_FAE_REDGE5'

and attachment_resource = 'TMJIV002'

and ppk_interval_type = '1'

group by ${switch(维度,

"月","date(last_update_date)")}

image.png

FineReport SQL初学者 发布于 2024-7-29 21:29
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
JL98Lv6中级互助
发布于2024-7-30 09:05(编辑于 2024-7-30 09:05)

MYSQL为例:

方法1: 使用DATE_SUB()函数

DATE_SUB()函数允许你从一个日期中减去一个时间间隔。如果你想减去一个月,你可以这样做:

SELECT DATE_SUB('2023-03-15', INTERVAL 1 MONTH) AS ResultDate;

这里,'2023-03-15'是你想要从中减去一个月的日期,INTERVAL 1 MONTH指定了要减去的时间间隔。

方法2: 使用INTERVAL表达式

更常见的做法是直接使用INTERVAL表达式,这实际上在内部也是调用了与DATE_SUB()相似的功能,但是语法更简洁:

SELECT '2023-03-15' - INTERVAL 1 MONTH AS ResultDate;

注意:虽然在这个例子中我使用了字符串字面量'2023-03-15',但在实际应用中,你可能会从一个表的列中选择日期。

最佳回答
0
Z4u3z1Lv6专家互助
发布于2024-7-30 06:36

。oracle?mysql?sqlserver?还是其它

  • 2关注人数
  • 123浏览人数
  • 最后回答于:2024-7-30 09:05
    请选择关闭问题的原因
    确定 取消
    返回顶部