我有以下查询:
SELECT EXP(col) FROM `project.dataset.tablename`;
Where col
is FLOAT
。但是,我收到此错误:Error: Floating point error in function: EXP
.
我试过了EXP()
使用虚拟数据,它可以工作。例如:
SELECT EXP(col) FROM (
SELECT 1. as col UNION ALL
SELECT 2. as col);
为什么实际数据会出现浮点错误?如何解决该错误?我尝试过诸如此类的事情EXP(CAST(col as FLOAT64))
and EXP(ROUND(col, n))
,但我仍然遇到同样的错误。
您可能正在处理大于 709.7827 的数字。
奇怪的数字,但即使在 Fortran 文档中:
EXP(X)
指数。
X 必须小于或等于 709.7827。
http://sc.tamu.edu/IBM.Tutorial/docs/Compilers/xlf_8.1/html/lr277.HTM http://sc.tamu.edu/IBM.Tutorial/docs/Compilers/xlf_8.1/html/lr277.HTM
这是因为 e^709.7827 之后的数字变得太大。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)