2020-09-29 19:01发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
团队
我们可以在HANA存储过程中声明日期吗? 我们的要求是按月和年在日期字段上循环。
任何帮助,逐月循环3年。 会很棒。
致谢/吉里
嗨,
当然可以。 使用
DECLARE lv_begin DATE;
如果要循环显示一年中的月份,请在生成时间数据后使用表" _SYS_BI" .M_TIME_DIMENSION。
-Sharadha
我很确定您的要求是在三年内每月执行一些逻辑,但不必这样做就必须运行一个循环。
在SQL数据库中,通常不是一个好主意。
嗨,吉里,
您可以在下面尝试循环显示日期字段。 它将循环浏览从今天到3年后的所有日期。
开始
DECLARE CURSOR cur_rows FOR
从" _SYS_BI"中选择" DATE_SQL"。" M_TIME_DIMENSION"
其中" DATE_SQL" <=当前日期和" DATE_SQL"> = add_months(current_date,-36);
将当前行作为cur_rows DO
//您可以使用currentrow在循环内访问日期字段值。" DATE_SQL"
END FOR;
END;
如果只想循环显示年和月数据,可以尝试以下操作
从*中选择*(从" _SYS_BI"中选择concat(" YEAR"," MONTH")为" YEARMONTH"。" M_TIME_DIMENSION_MONTH")
其中" YEARMONTH" <= CONCAT(SUBSTRING(current_date,1,4),SUBSTRING(current_date,6,2))和
" YEARMONTH"> = CONCAT(SUBSTRING(add_months(current_date,-36),1,4),SUBSTRING(add_months(current_date,-36),6,2));
//您可以使用currentrow在循环内访问日期字段值。" YEARMONTH"
谢谢
SAI
感谢大家的投入。
您可能希望仔细查看表" _SYS_BI"。 M_TIME_DIMENSION_MONTH"。 它已经包含许多时间格式和聚合级别(周,年,...),因此您实际上不必围绕日期格式进行SUBSTRing/CONCATen方法。
最多设置5个标签!
嗨,
当然可以。 使用
DECLARE lv_begin DATE;
如果要循环显示一年中的月份,请在生成时间数据后使用表" _SYS_BI" .M_TIME_DIMENSION。
-Sharadha
我很确定您的要求是在三年内每月执行一些逻辑,但不必这样做就必须运行一个循环。
在SQL数据库中,通常不是一个好主意。
嗨,吉里,
您可以在下面尝试循环显示日期字段。 它将循环浏览从今天到3年后的所有日期。
开始
DECLARE CURSOR cur_rows FOR
从" _SYS_BI"中选择" DATE_SQL"。" M_TIME_DIMENSION"
其中" DATE_SQL" <=当前日期和" DATE_SQL"> = add_months(current_date,-36);
将当前行作为cur_rows DO
//您可以使用currentrow在循环内访问日期字段值。" DATE_SQL"
END FOR;
END;
如果只想循环显示年和月数据,可以尝试以下操作
开始
DECLARE CURSOR cur_rows FOR
从*中选择*(从" _SYS_BI"中选择concat(" YEAR"," MONTH")为" YEARMONTH"。" M_TIME_DIMENSION_MONTH")
其中" YEARMONTH" <= CONCAT(SUBSTRING(current_date,1,4),SUBSTRING(current_date,6,2))和
" YEARMONTH"> = CONCAT(SUBSTRING(add_months(current_date,-36),1,4),SUBSTRING(add_months(current_date,-36),6,2));
将当前行作为cur_rows DO
//您可以使用currentrow在循环内访问日期字段值。" YEARMONTH"
END FOR;
END;
谢谢
SAI
感谢大家的投入。
您可能希望仔细查看表" _SYS_BI"。 M_TIME_DIMENSION_MONTH"。 它已经包含许多时间格式和聚合级别(周,年,...),因此您实际上不必围绕日期格式进行SUBSTRing/CONCATen方法。
一周热门 更多>