BigQuery中SUBSTRING语句报错:CHARINDEX函数未找到,请求技术协助
BigQuery中CHARINDEX函数报错的解决办法
BigQuery不支持CHARINDEX函数,该函数常见于SQL Server等数据库,BigQuery里对应的位置查找函数是STRPOS,作用是返回子字符串在目标字符串中的起始位置(从1开始计数)。
把原语句中的CHARINDEX替换为STRPOS即可解决报错,修改后的代码如下:
substring(note.summary, strpos(note.summary, '[') + 1, strpos(note.summary, ']') - strpos(note.summary, '[') - 1) as alpha,
另外,你也可以用REGEXP_EXTRACT函数更简洁地提取方括号[]之间的内容,效果和原逻辑一致,代码如下:
regexp_extract(note.summary, r'\[(.*?)\]') as alpha,
这个正则表达式会匹配第一个[和其后最近的],并提取中间的内容。
内容的提问来源于stack exchange,提问作者Sam Hunter
相关产品推荐
相关产品推荐

