点击此处---> 群内免费提供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时间数据类型吗?
谢谢
杰夫
" 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()捕获此时间值。
ifthenelse()则为。 或者将值保留为字符串。 无论如何,您现在可以走了,是吗?
PS:
在SAP表中,您还可以找到日期00000000,这意味着。 但是从纯粹的技术角度来看,第0年很好,而第0天和第0天就不好。
Hi Werner,
感谢您的回复。
SAP数据服务将字段默认为时间数据类型,并且我还将后端SQL字段定义为time(7)数据类型。
表AFKO中的字段GLUZP实际上在该字段中具有值24:00:00 000000000。 这是在我们的开发服务器上。
其他SAP表中的其他时间字段在时间数据类型上出现故障,并使用to_char获取摘要以将其加载到后端SQL数据库中。
您好,Werner,
是的,使用ifthenelse()编辑有问题的日期,效果很好。 感谢您的帮助。
Jeff
一周热门 更多>