SAP HANA 将 YYYYWW 转换为 MM/DD/YYYY
SAP HANA convert YYYYWW to MM/DD/YYYY
需求是从tableS990的SPWOC字段中获取星期一和星期日。我想不出任何可以让我提取这些信息的函数组合。该 table 字段的示例输出是 202135。因此,我试图从 2021 年的第 35 周开始获取星期一和星期日。非常感谢任何关于从哪里开始的想法!
是否使用 ISO 周计算(即 SAP 标准默认值)或系统使用 non-ISO 周计算方法无法单独从 table 确定。
要了解这一点,您需要与了解 SAP 系统配置方式的人交谈。
但就问题的范围而言,我们假设您使用的系统使用 ISO 方法,其中周从星期一开始到星期日结束。
即便如此,计算 closed-form 中第 X 周的星期一和星期日的日期也并非易事。
TO_DATE()
函数也不支持从 YYYYWW
到 YYYY-MM-DD
的直接转换。
因此,除了自己编写函数来执行正确的日历运算外,我只认为以下选项是可行的方法:
确保 HANA table _SYS_BIC.M_TIME_DIMENSION
已加载您感兴趣的时间范围内的数据 (day-level)。这可以通过HANA Studio 或 Web IDE 中的生成时间数据 功能。如果需要,请查看文档以获取详细信息。
使用时间维度 table,您可以获得各种预先计算的日期表示和转换,包括 CALWEEK
和 DAY_OF_WEEK
。
这样你就可以 运行 一个 SELECT 这样的:
select
year
, week
, date_sql
, to_nvarchar( date_sql, 'DAY')
from
"_SYS_BI"."M_TIME_DIMENSION"
where
calweek = '202135'
and day_of_week in (0, 6);
YEAR WEEK DATE_SQL TO_NVARCHAR(DATE_SQL,'DAY')
2021 35 30/08/2021 MONDAY
2021 35 05/09/2021 SUNDAY
需求是从tableS990的SPWOC字段中获取星期一和星期日。我想不出任何可以让我提取这些信息的函数组合。该 table 字段的示例输出是 202135。因此,我试图从 2021 年的第 35 周开始获取星期一和星期日。非常感谢任何关于从哪里开始的想法!
是否使用 ISO 周计算(即 SAP 标准默认值)或系统使用 non-ISO 周计算方法无法单独从 table 确定。
要了解这一点,您需要与了解 SAP 系统配置方式的人交谈。
但就问题的范围而言,我们假设您使用的系统使用 ISO 方法,其中周从星期一开始到星期日结束。
即便如此,计算 closed-form 中第 X 周的星期一和星期日的日期也并非易事。
TO_DATE()
函数也不支持从 YYYYWW
到 YYYY-MM-DD
的直接转换。
因此,除了自己编写函数来执行正确的日历运算外,我只认为以下选项是可行的方法:
确保 HANA table
_SYS_BIC.M_TIME_DIMENSION
已加载您感兴趣的时间范围内的数据 (day-level)。这可以通过HANA Studio 或 Web IDE 中的生成时间数据 功能。如果需要,请查看文档以获取详细信息。使用时间维度 table,您可以获得各种预先计算的日期表示和转换,包括
CALWEEK
和DAY_OF_WEEK
。
这样你就可以 运行 一个 SELECT 这样的:
select
year
, week
, date_sql
, to_nvarchar( date_sql, 'DAY')
from
"_SYS_BI"."M_TIME_DIMENSION"
where
calweek = '202135'
and day_of_week in (0, 6);
YEAR WEEK DATE_SQL TO_NVARCHAR(DATE_SQL,'DAY')
2021 35 30/08/2021 MONDAY
2021 35 05/09/2021 SUNDAY