You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery字符串UNNEST操作搭配REPLACE函数运行异常问题咨询

问题根因
  • 你编写的SQL中,REPLACE拼接完成后得到的是单个带单引号和分隔符的字符串,你把它放在方括号里生成的是仅包含1个元素的数组,不符合你预期的拆分两个POINT为独立数组元素的逻辑,执行时会触发类型或者逻辑错误。
  • 移除REPLACE相关逻辑后,你给UNNEST传入的是标准单元素字符串数组,符合BigQuery语法要求,因此可以正常运行。
修复方案

如果你需要把原字符串里的两个POINT坐标拆分为独立的行输出,直接用SPLIT函数切割字符串生成数组即可,无需手动拼接引号:

SELECT
  * 
FROM UNNEST(
  SPLIT('POINT(153.07081 -27.498136), POINT(153.076338 -27.47167)', ', ')
) AS element

如果确实需要给每个POINT元素外层包裹单引号,可以拆分后再处理:

SELECT
  CONCAT("'", element, "'") AS element
FROM UNNEST(
  SPLIT('POINT(153.07081 -27.498136), POINT(153.076338 -27.47167)', ', ')
) AS element
注意事项
  • BigQuery的UNNEST函数仅支持接收数组类型作为入参,单个拼接好的带分隔符的字符串不会被自动识别为多元素数组。
  • 字符串切割生成数组请直接调用内置的SPLIT函数,不需要手动替换分隔符拼接字符串。

内容的提问来源于stack exchange,提问作者Mim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:24:02