2020-09-04 09:52发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个要上传到HANA中的表格... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我有一个要上传到HANA中的表格的CSV文件。 该文件包含小数点,因此小数点后最多18位数字。 我将该列定义为DECIMAL(34,18)。 当数字在小数点后的位数较少时(例如0.3334),这是一个问题,在检查表的内容时数字显示为0.3333999999999999749741540079867263557。 为什么数字不简单地显示为源csv文件中的值?
我认为您遇到的问题是因为操作系统(C ++)无法"忠实"存储超过15或16位数字的数字,所以当 您告诉它是一个18位十进制数,则必须使用Double(0.3334 = 0.333399999999999974154007986726355738937854766845703125以64位Double表示,如在 https://baseconvert.com/ieee-754-floating-point )。
是否可以在不损失数据质量的情况下将精度降低到16位? 我的HANA Express(2.0 SPS03)上没有小数(34,16)。
我设法欺骗负载的另一种方法是将Excel中的CSV文件保存为XLSX,并将这些数字保存为文本。 然后使用数据库资源管理器的导入文件加载XSLS。 我在HANA表中获得了所需的精度十进制(34,18)数据。
致谢。
最多设置5个标签!
我认为您遇到的问题是因为操作系统(C ++)无法"忠实"存储超过15或16位数字的数字,所以当 您告诉它是一个18位十进制数,则必须使用Double(0.3334 = 0.333399999999999974154007986726355738937854766845703125以64位Double表示,如在 https://baseconvert.com/ieee-754-floating-point )。
是否可以在不损失数据质量的情况下将精度降低到16位? 我的HANA Express(2.0 SPS03)上没有小数(34,16)。
我设法欺骗负载的另一种方法是将Excel中的CSV文件保存为XLSX,并将这些数字保存为文本。 然后使用数据库资源管理器的导入文件加载XSLS。 我在HANA表中获得了所需的精度十进制(34,18)数据。
致谢。
一周热门 更多>