2016-10-04 44 views
1

我有以下查詢:EXP()BigQuery中返回浮點錯誤

SELECT EXP(col) FROM `project.dataset.tablename`; 

哪裏colFLOAT。但是,我收到此錯誤: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))EXP(ROUND(col, n))之類的東西,但我仍然得到相同的錯誤。

+0

作業ID,以防有人可以調試嗎? –

回答

1

運行查詢:

SELECT MAX(col) 
FROM project.dataset.tablename; 

它可能然後是顯而易見的,爲什麼你得到溢出錯誤。你可以解決它通過使用case

SELECT (CASE WHEN col < ?? THEN EXP(col) END) 
FROM project.dataset.tablename; 

我可以建議值,但它可能是從你的應用明顯的 - 說的東西比10或100更大的可能只是不合理的。