我有一个名为“资产”的专栏,结果如下
//bigquery.googleapis.com/projects/ABC/datasets/123
//bigquery.googleapis.com/projects/BlaBla-something/datasets/12345
//bigquery.googleapis.com/projects/ProjectName/datasets/6789
我只想将第一列中的部分文本添加到另一列:在“//bigquery.googleapis.com/projects/”之后,并且不想将此部分放在 /datasets/123 中,因此在结果中我只想显示文本之间和名为“asset_code”的新列,如下所示:
**Result **
| assets | asset_code | |//bigquery.is.com/projects/ABC/datasets/123 |ABC | |//bigquery.googleapis.com/projects/BlaBla-something/datasets/12345 |BlaBla-something | |//bigquery.googleapis.com/projects/ProjectName/datasets/6789 |ProjectName |
您能提供建议吗?
tried substr. REGEXP_EXTRACT but got stucked split
如果你看到你提到的3个例子。代码始终位于第三个位置,您可以只使用 split 函数,不需要使用 REGEXP_EXTRACT 来获取值。下面是sql代码
select SPLIT(REPLACE('//bigquery.googleapis.com/projects/ProjectName/datasets/6789', '//', ''),'/')[OFFSET(2)] as assest_code
这是与列一起使用的 SQL 代码
select assets, SPLIT(REPLACE(assets, '//', ''),'/')[OFFSET(2)] as assest_code from table