【问题标题】:bigquery split string to charsbigquery 将字符串拆分为字符
【发布时间】:2015-05-22 21:12:54
【问题描述】:

假设我有一个表,其中一列是一个字符串:

id    |    value
________________
1     |    HELLO
----------------
2     |      BYE

如何将每个 STRING 拆分为字符,以创建下表:

id    |    value
________________
1     |     H
----------------
1     |     E
----------------
1     |     L
----------------
1     |     L
....

?

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    你可以使用空字符串作为分隔符的 SPLIT 函数,即

    SELECT id, SPLIT(value, '') value FROM Table
    

    请注意,SPLIT 返回重复字段,如果您想要平坦的结果(您的问题并不清楚),您可以使用

    SELECT * FROM 
      FLATTEN((SELECT id, SPLIT(value, '') value FROM Table), value)
    

    【讨论】:

    • 领先我 16 秒 :)
    • 对不起,吉尔 - 我实际上仍在努力寻找答案,但过早地点击了“发布”,所以从技术上讲,你打败了我。
    • 是的,您的编辑为我节省了第二个问题 :) 我真正需要的是扁平化结果,我正在尝试使用查找表加入数据!
    【解决方案2】:

    显然,如果你传递一个空分隔符,它会起作用:

    select id, split(str, '')
    from (
      select 1 as id, "HELLO" as str
    )
    

    【讨论】:

      猜你喜欢
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-25
      • 2012-02-22
      • 2019-04-16
      • 1970-01-01
      相关资源
      最近更新 更多