如何在BigQuery中将字符串分解为单独的行?[复制]

How to break down a string into separate lines in BigQuery? [duplicate]

提问人:maxoriol 提问时间:9/20/2023 更新时间:9/20/2023 访问量:35

问:

我的 BigQuery 表包含一个 String 列:

WITH
  food_thoughts AS (
    SELECT 1 as id, 'I want a kebab' AS thought UNION ALL
    SELECT 2, 'Pizza is delicious' UNION ALL
    SELECT 3, 'All you can eat French fries!'
  )
SELECT * FROM food_thoughts
编号 思想
1 我想要烤肉串
2 披萨很好吃
3 所有你可以吃炸薯条!

我想将每个句子的每个单词隔离到一个专用单元格中,并将其与其他列匹配。如何使用 BigQuery 命令实现此目的?

预期输出为:

编号
1
1
1 一个
1 串烧
2 比萨饼
2
2 ...
3 炸土豆条!
SQL 字符串 google-bigquery split unnest

评论


答:

0赞 maxoriol 9/20/2023 #1

您可以尝试以下 BigQuery 代码:

SELECT food_thoughts.id, word
FROM food_thoughts, unnest(split(thought, ' ')) as word
  1. 使用函数将 String 拆分为单词数组split
  2. 使用运算符(此处的文档)和别名创建一个新表unnestFROM
  3. 请参阅此别名以收集语句中所需的所有信息SELECT