ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

从金额精度到 8388607 个字符,读懂 SAP HANA SQLScript 的 Scalar Data Types

从金额精度到 8388607 个字符,读懂 SAP HANA SQLScript 的 Scalar Data Types 在 SAP HANA 里写 SQLScript 时,有一类问题看起来很小,真正进入生产系统以后却很容易变成难排查的问题。例如财务系统里有两个金额0.1和4.6,如果把它们当成DOUBLE做计算,SAP 官方文档给出的示例结果并不是我们直觉里的4.7,而可能得到4.6999999999。原因并不是 SAP HANA 算错了,而是DOUBLE使用二进制浮点表示,十进制里的0.1无法通过有限个二进制小数位精确表示。(SAP Help Portal)也正因为如此,理解 Scalar Data Types 不能停留在记住INT、VARCHAR、DATE这些名字上。真正需要掌握的是,一个数据类型究竟在向 SAP HANA 表达什么,它如何影响数值范围、精度、字符串长度、时间粒度、内存表示、类型转换,以及 SQLScript 和普通 SQL 之间的行为边界。SAP HANA 的 SQLScript 类型系统以
返回列表