标准 sql 中的 bigquery 旧版 sql POSITION() 函数

Posted

技术标签:

【中文标题】标准 sql 中的 bigquery 旧版 sql POSITION() 函数【英文标题】:bigquery legacy sql POSITION() function in standard sql 【发布时间】:2018-09-28 14:10:08 【问题描述】:

我尝试将旧查询转换为 bigquery 中的标准 SQL 查询,但在标准 SQL 中找不到函数 position()

【问题讨论】:

【参考方案1】:

您可能正在寻找括号运算符。例如,

SELECT array_column[OFFSET(0)]
FROM dataset.table

这将为每一行选择数组列的第一个元素。如果你想展平一个数组并获取每个元素的偏移量,你可以这样做:

SELECT x, x_offset
FROM dataset.table,
  UNNEST(array_column) AS x WITH OFFSET x_offset

另请参阅working with arrays documentation。

【讨论】:

以上是关于标准 sql 中的 bigquery 旧版 sql POSITION() 函数的主要内容,如果未能解决你的问题,请参考以下文章

旧版 sql 和标准 sql 之间的 BigQuery 表分区差异

BigQuery 中用于 Google Analytics 数据的标准 SQL 还是旧版 SQL?

如何将旧版 SQL BigQuery 转换为标准 SQL?

如何在 BigQuery 中将此旧版 SQL 转换为标准 SQL?

无法在 Google BigQuery 中将此旧版 SQL 转换为标准 SQL

无法将 BigQuery 旧版 SQL 转换为 HAVING LEFT(...) 的标准 SQL