将时间格式从HH:MM:SS:FFn转换为HH:MM-HANA

2020-08-15 02:03发布

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

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


大家好,

我是HANA建模的新手,我想将列的时间戳从格式" HH:MM:SS:FFn"转换为HH:MM(仅小时和分钟)。

我试图在实际时间戳之上创建一个计算列,并尝试了各种功能。 但是没有一个。

下面是实际的时间戳列,我正在尝试将其转换为HH:MM。 这可能吗?

谢谢

妮维莎

capture.jpg (28.3 kB)

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

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


大家好,

我是HANA建模的新手,我想将列的时间戳从格式" HH:MM:SS:FFn"转换为HH:MM(仅小时和分钟)。

我试图在实际时间戳之上创建一个计算列,并尝试了各种功能。 但是没有一个。

下面是实际的时间戳列,我正在尝试将其转换为HH:MM。 这可能吗?

谢谢

妮维莎

capture.jpg (28.3 kB)
付费偷看设置
发送
6条回答
太Q了
1楼-- · 2020-08-15 02:22

在您的视图中考虑以下内容:

选择TO_NVARCHAR(now(),'HH:MI AM'),TO_NVARCHAR(now(),'HH24:MI')
 从假人
 

您应该能够将其放入视图或SELECT语句中

Mark

bbpeas
2楼-- · 2020-08-15 02:25

Hello Mark,

非常感谢您的回复。 数据类型为VARCHAR时,我可以看到此公式的输出。 但我希望数据类型为TIMESTAMP。 实际上,我正在尝试从SAC的HANA视图之上创建一个故事,并且SAC并未将VARCHAR数据类型的维度作为时间戳。

我尝试了以下操作,并且在HANA中激活时显示错误。

"属性值不是日期或错误的语法; $ message $ =属性值不是日期或错误的语法; [here] longdate(string(" STATEMENT_START_TIME"),'YYYY-MM-DD HH:MI AM '),STATEMENT_START_TIME = 2020-07-10 04:16:11.4086100 [longdate](6931)"

谢谢

Nivetha

土豆飞人
3楼-- · 2020-08-15 02:20

您会收到此错误,因为TO_TIMESTAMP希望将字符串作为输入,而不是TIMESTAMP的列。

 select

 TO_TIME(TO_NVARCHAR(now(),'HH:MI AM'))

 ,TO_TIME(TO_NVARCHAR(now(),'HH24:MI'))

 来自TIME_TEST; 

将其转换回TIME。 问题是您正在尝试将其放入TIMESTAMP,但您忽略了年月日。 您只是在尝试显示小时和分钟吗? 还是要将其写回TIMESTAMP字段中?

标记

xfwsx85
4楼-- · 2020-08-15 02:17

标记,我想以" 2020- 07-09 05:50 PM'。

日期可以是任何格式。 但是我只需要将时间设为HH:MM,并且必须将其与日期一起显示。

正如我所说,SAP Analytics Cloud并不像使用NVARCHAR数据类型那样将此列视为时间维度。

如何在现有对象的顶部创建一个计算列,该对象的日期和时间格式为" 2020年7月10日12.29.10.52119",并简单地将输出显示为" 2020年7月10日12月29日"? 使用数据类型" TIMESTAMP"创建此现有对象,我希望在创建的新计算列中使用相同的对象。

谢谢

妮维莎

xfwsx85
5楼-- · 2020-08-15 02:35

好的,所以我认为有一些事情需要澄清。 数据库中的内容与将其呈现给客户端的方式不同。

使用TIMESTAMP字段,通常根据客户端工具(SAC)设置,该字段将始终具有默认格式。 保证格式的唯一方法是将其转换为VARCHAR/NVARCHAR字段。 如果您要创建一个calc视图,则基础类型仍为TIMESTAMP,因此仍具有默认的显示格式。

在SAC模型中,您可以更改字段的格式。 我希望SAC能够为您提供正确的显示格式,而不是试图使其在HANA中运行。

Mark

骆驼绵羊
6楼-- · 2020-08-15 02:15

Mark,

SAC故事基于实时连接。 因此,我无法在SAC级别上更改维度。 它只是以HANA中的格式提取数据。

当我在数据类型为VARCHAR/NVARCHAR的维度(时间戳数据类型为HH:MM:SS:FFS)上创建计算列时,可以看到HANA中时间格式的变化。

但是SAC并未将我的计算列(数据类型为VARCHAR)视为时间戳。

我可以用数据类型为timestamp的时间格式YYYY-MM-DD HH:MM创建一个计算列吗?

谢谢

妮维莎

一周热门 更多>