首页 > 解决方案 > 如何从日期列中获取上个月的最后日期?

问题描述

我有两个日期列,仅考虑工作日。A_date 和 E_date。E_date 的计算方法是在 A_date 上加上 +2 天,因为这是请求

问题是如果 A_date 的日期是当月的 30 日或 31 日,那么 E_date 的日期需要是当月的最后一天,而不是下个月的第一个或第二个工作日。

我已经尝试过 eomonth 功能,但这不起作用,因为它需要一个明确的日期。

你知道如何解决它吗?

标签: sqlsql-serverdate

解决方案


有两个日期列,仅考虑工作日。A_date 和 E_date。E_date 的计算方法是在 A_date 上加上 +2 天,因为这是请求

我会简单地做:

(case when dateadd(day, 2, a_date) < eomonth(a_date)
      then dateadd(day, 2, a_date)
      else eomonth(a_date)
 end) as e_date

推荐阅读