SAP HANA存储过程中的DATE声明

2020-09-29 19:01发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


团队

我们可以在HANA存储过程中声明日期吗? 我们的要求是按月和年在日期字段上循环。

任何帮助,逐月循环3年。 会很棒。

致谢/吉里

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


团队

我们可以在HANA存储过程中声明日期吗? 我们的要求是按月和年在日期字段上循环。

任何帮助,逐月循环3年。 会很棒。

致谢/吉里

付费偷看设置
发送
5条回答
落灬小鱼
1楼-- · 2020-09-29 19:11

嗨,

当然可以。 使用

DECLARE lv_begin DATE;

如果要循环显示一年中的月份,请在生成时间数据后使用表" _SYS_BI" .M_TIME_DIMENSION。

-Sharadha

歪着头看世界
2楼-- · 2020-09-29 19:11

我很确定您的要求是在三年内每月执行一些逻辑,但不必这样做就必须运行一个循环。

在SQL数据库中,通常不是一个好主意。

callcenter油条
3楼-- · 2020-09-29 19:07

嗨,吉里,

您可以在下面尝试循环显示日期字段。 它将循环浏览从今天到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

悠然的二货
4楼-- · 2020-09-29 19:16

感谢大家的投入。

huskylover
5楼-- · 2020-09-29 19:06

您可能希望仔细查看表" _SYS_BI"。 M_TIME_DIMENSION_MONTH"。 它已经包含许多时间格式和聚合级别(周,年,...),因此您实际上不必围绕日期格式进行SUBSTRing/CONCATen方法。

一周热门 更多>