使用 SQL 查询获取从今天开始的最后 45 天

Getting last 45 days from today with SQL query

我试图从今天的日期开始写一个 sql 查询,今天的日期,但从今天开始的最后 45 天,所以我希望日期介于 45 天和今天之间,而不仅仅是日期 45 天以前

您可以使用 ADD_DAYS 函数将负值作为范围的一部分,ADD_DAYS(CURRENT_DATE, -45) 或例如SELECT ADD_DAYS (TO_DATE ('2021-03-03', 'YYYY-MM-DD'), -45) 来自虚拟

创建一个系列值,例如对于日期,HANA 提供了 SERIES_GENERATE 函数。

对于创建过去 45 天的所有日期的要求,可以采用这种方法

SELECT
   GENERATED_PERIOD_START as DATE_OF_DAY
FROM
   SERIES_GENERATE_DATE('INTERVAL 1 DAY'               
                       , ADD_DAYS(current_date, -45)
                       , current_date);

您可以使用 M_TIME_DIMENSION table 获取具有其他属性(如月、年、ABAP 格式 (dats) 等)的日期,无需计算。

select date_sql
from _sys_bi.m_time_dimension
where date_sql between add_days(current_date, -45) and current_date