我正在尝试使用regex_extract函数获取bigquery中字符串的第一个、第二个或第三个值。
字符串如下所示
"testimage International,testimageinternational,002533336564114VoIdiAA"我一直在用谷歌搜索,我正在努力找到一个合适的正则表达式函数。
这是我得到的最接近的REGEXP_EXTRACT(string, r'[^,]+1') as x
但是,尽管它在字符串为test,test1,test2的情况下工作得很好,但它不能在实际的字符串上工作。任何关于我哪里出错的解释都将不胜感激。
发布于 2018-04-19 02:18:27
下面是针对BigQuery标准SQL的说明
基于您问题中的示例和建议的正则表达式-我觉得您可能希望简单地使用SPLIT(),如下所示
#standardSQL
WITH t AS (
SELECT 'testimage International,testimageinternational,002533336564114VoIdiAA' str
)
SELECT
SPLIT(str, ',')[SAFE_OFFSET(0)] AS first,
SPLIT(str, ',')[SAFE_OFFSET(1)] AS second,
SPLIT(str, ',')[SAFE_OFFSET(2)] AS third
FROM t 有结果
Row first second third
1 testimage International testimageinternational 002533336564114VoIdiAA https://stackoverflow.com/questions/49906011
复制相似问题