执行 SELECT * FROM TABLE 给出“无法将 FLOAT64 类型的字段读取为字符串字段”

问题描述 投票:0回答:1

带有 WHERE 条件的 SELECT 语句有错误。 “无法将 FLOAT64 类型的字段读取为字符串字段”。我验证了架构和字段类型是 STRING,不知道为什么它会将其识别为 FLOAT64。

查询

SELECT * FROM `TABLE_2*`
WHERE _TABLE_SUFFIX BETWEEN '0240303' AND '0240304'
AND jsonPayload.property1 LIKE '%text-text%'
AND jsonPayload.property2 LIKE '%/text'

输出到结果选项卡

无法将 FLOAT64 类型的字段读取为 STRING 字段:jsonPayload.node.property

我尝试运行带有 WHERE 条件的 SELECT 语句,但出现错误。我期望得到查询结果。

google-bigquery
1个回答
0
投票

根据 Samuel 的建议,利用 CAST 函数可以为您的用例提供有效的解决方案。要实现此目的,请识别导致数据类型不匹配的特定字段,然后将其转换为字符串格式。这将解决您遇到的错误。

这些额外资源可以提供对该主题的进一步见解。

在我的研究中,我发现了一个“类似的帖子”,似乎与错误相关。为了确保我们解决根本原因,我检查了我们的问题跟踪器是否有与您的特定用例相关的任何“未决或持续存在的问题”,但没有发现任何问题。如果您怀疑这可能是一个错误,请随时在我们的问题跟踪器中提交票证以进行进一步调查。

© www.soinside.com 2019 - 2024. All rights reserved.