我在谷歌BigQuery(不使用LegacySQL)工作,而且我正在嘗試將一個字符串作爲float64投射()。每次我收到錯誤「Bad double value」。我也嘗試過safe_cast(),但它完全消除了我的一些id(例如:如果一個客戶在3個不同的日期重複3次,並且對於單個「Height」條目只有'null',則該客戶在完成後我做safe_cast(),而不是隻有'null'值的行)。我的數據中沒有任何奇怪的字符串值,只是整個或合理的數字或空條目。谷歌BigQuery中的「糟糕的雙重價值」
這裏是我當前的代碼:
select id, date,
cast(height as float64) as height,
cast(weight as float64) as weight
from (select id, date, max(height) as height, max(weight) as weight
from table
group by 1,2
)
group by 1, 2
身高和體重(字符串)是什麼樣子?我能想到有問題的字符串;例如'NaN'或所謂的「subnormal」double值(小於1E-308),這是BigQuery可能會忽略的。更不用說像「REALLY TALL」那樣的高度字符串值了:-) – Mischa