问题描述
我有一个字符串,写成 8 字节双精度数字,小端,想用 float64 转换它,以便 BigQuery 可以将它作为数字处理。
# example
from: hex(little endian): EC51B81E852B4340
to: float64: 38.34
是否有针对此的智能解决方案?
谢谢。
解决方法
我只有第一步,您可以使用 JavaScript 功能。我进行了搜索,但没有找到可以直接从 BigQuery 引用的库。您必须找到一个库和 upload it to GCS 才能引用它。我还找到了一些代码片段来执行字节 -> 双重编码,但不确定它们的质量。
CREATE TEMP FUNCTION hex_to_float(x BYTES) RETURNS FLOAT64
LANGUAGE js
AS """
// Call a JS library to translate byte array to double
""";
SELECT hex_to_float(FROM_HEX('EC51B81E852B4340'));