根据用户输入的时间范围,往前推月份减一,需要考虑到月底30天31天问题

根据用户输入的时间范围,往前推月份减一,需要考虑到月底30天31天问题,如图中,用户输入'2023-05-30 23:59:59',在帆软中如何转换或如何能变为:'2023-05-31 23:59:59',语句为:select   DATEADD(Month, -1,'2023-06-14 00:00:00' ) as  '开始日期' , DATEADD(Month, -1, '2023-06-30 23:59:59')  as  '结束日期'

FineReport 入坑的小白 发布于 2023-7-16 22:02 (编辑于 2023-7-17 10:13)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
入坑的小白Lv3见习互助
发布于2023-7-17 17:22(编辑于 2023-7-17 17:22)

SELECT DATEADD(Month, -1, '2023-06-14 00:00:00') AS '开始日期', DATEADD(Day, -1, DATEADD(Month, -1, DATEADD(Day, 1, '2023-06-30'))) AS '结束日期'

最佳回答
0
张三李四和王二麻Lv5见习互助
发布于2023-7-17 10:21

mysql :  last_day(date)  最后一天函数 , 或者

-- 当月第一天

select dateadd(month, datediff(month, 0, getdate()), 0)

-- 当月最后一天(思路:下月的第一天减去一天)

select dateadd(month, datediff(month, 0, dateadd(month, 1, getdate())), -1)

-- 当年第一天

select dateadd(year, datediff(year, 0, getdate()), 0)

-- 当年最后一天(思路:下年的第一天减去一天)

select dateadd(year, datediff(year, 0, dateadd(year, 1, getdate())), -1)

-- 当天零时2018-10-15 00:00:00.000

select dateadd(day, datediff(day, 0, getdate()), 0)

最佳回答
0
用户k6280494Lv6资深互助
发布于2023-7-17 10:37
  • 2关注人数
  • 572浏览人数
  • 最后回答于:2023-7-17 17:22
    请选择关闭问题的原因
    确定 取消
    返回顶部