时间数据转换

2020-09-01 15:21发布

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

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


嗨,

我正在使用SAP数据服务将某些Plant Maintenance表中的数据提取到SQL数据库中。 即使SQL字段也是数据类型time(7),也无法在某些具有时间数据类型的字段上提取数据。 当PM表字段中有实际时间值(即07:00:00 000000000)时,似乎工作正常,但如果时间值为24:00:00 000000000或00:00:00 000000000,则失败。

这是为什么? Cast(time_field,'time')也不起作用。 to_char(time_field,'H24:mm:ss')用作varchar(24)字段,但我不愿使用它,因为后端SQL数据库在计算时差时可能会遇到问题。 SAP数据服务中还有其他功能可用来将SAP时间数据类型强制转换为SQL时间数据类型吗?

谢谢

杰夫

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

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


嗨,

我正在使用SAP数据服务将某些Plant Maintenance表中的数据提取到SQL数据库中。 即使SQL字段也是数据类型time(7),也无法在某些具有时间数据类型的字段上提取数据。 当PM表字段中有实际时间值(即07:00:00 000000000)时,似乎工作正常,但如果时间值为24:00:00 000000000或00:00:00 000000000,则失败。

这是为什么? Cast(time_field,'time')也不起作用。 to_char(time_field,'H24:mm:ss')用作varchar(24)字段,但我不愿使用它,因为后端SQL数据库在计算时差时可能会遇到问题。 SAP数据服务中还有其他功能可用来将SAP时间数据类型强制转换为SQL时间数据类型吗?

谢谢

杰夫

付费偷看设置
发送
4条回答
shere_lin
1楼-- · 2020-09-01 16:09

" 24:00"不是有效时间。 您的时钟也不显示该值。 它显示23:59和00:00。

我会对根据SQL Server使用的确切数据类型感兴趣。 因为据我所知,它也不支持24:00。

请参阅 https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/datetime-transact-sql?view=sql-server -2017

所以这是字符串数据类型,或者我错了,或者正在进行一些数学运算,导致四舍五入到24:00。 根据具体情况,我们需要采取不同的行动,例如 使用ifthenelse()捕获此时间值。

追夢秋陽
2楼-- · 2020-09-01 16:08

ifthenelse()则为。 或者将值保留为字符串。 无论如何,您现在可以走了,是吗?

PS:

在SAP表中,您还可以找到日期00000000,这意味着。 但是从纯粹的技术角度来看,第0年很好,而第0天和第0天就不好。

何必丶何苦呢
3楼-- · 2020-09-01 16:22

Hi Werner,

感谢您的回复。

SAP数据服务将字段默认为时间数据类型,并且我还将后端SQL字段定义为time(7)数据类型。

表AFKO中的字段GLUZP实际上在该字段中具有值24:00:00 000000000。 这是在我们的开发服务器上。

其他SAP表中的其他时间字段在时间数据类型上出现故障,并使用to_char获取摘要以将其加载到后端SQL数据库中。

一只江湖小虾
4楼-- · 2020-09-01 16:20

您好,Werner,

是的,使用ifthenelse()编辑有问题的日期,效果很好。 感谢您的帮助。

Jeff

一周热门 更多>