【问题标题】:Split string by comma in BigQuery在 BigQuery 中用逗号分割字符串
【发布时间】:2021-05-13 09:10:11
【问题描述】:

我想用逗号将 BQ 行中的字符串拆分为其他行。但我只需要在它只是一个没有空格的逗号的情况下才需要拆分。截至目前,我使用,例如,

SELECT SPLIT('Mon,Tue,Wed', ',')

但是如果我有 'Mon, 23,Tue,Wed, 25' 我希望看到结果

Mon, 23
Tue
Wed, 25

我该怎么做?

【问题讨论】:

  • 也许这可以通过正则表达式函数来实现。尝试在问题中添加regex 标签。
  • 谢谢!我尝试使用像re.split(r',(?!\s)', x) 这样的正则表达式,对于数据框它是有效的,但不适用于 BQ

标签: regex google-bigquery bq


【解决方案1】:

也许在拆分之前将, 替换为其他内容(如*),然后再将其替换回来?

select array_agg(replace(splitted, '*', ', '))
from unnest(split(replace('Mon, 23,Tue,Wed, 25', ', ', '*'))) as splitted

【讨论】:

    猜你喜欢
    • 2020-08-30
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多