BigQuery麻烦根据右侧的角色获得sudstring



我正在遇到一个问题,试图弄清楚如何根据字符串中多次出现的字符将字符串解析为子字符串。对于这种情况

示例:

Col          text_string
1            aaa/bbbb/ccccc
2            d/eeee/ff
3            gggg/hh/iiii

到目前为止,我所拥有的是:

SELECT
SUBSTR(text_string,[*MY ISSUE*],LENGTH(text_string)) as solution
FROM mytable

输出:

Col          solution
1            ccccc
2            ff
3            iiii

由于GCP没有正确的功能,什么是实现此目标的最佳方法?

谢谢

以下是BigQuery Standard SQL

#standardSQL
SELECT col, 
  ARRAY_REVERSE(SPLIT(text_string, '/'))[OFFSET(0)] solution
FROM `project.dataset.table`

您可以测试,使用来自问题的示例数据进行播放,如下示例

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1 col, 'aaa/bbbb/ccccc' text_string UNION ALL
  SELECT 2, 'd/eeee/ff' UNION ALL
  SELECT 3, 'gggg/hh/iiii' 
)
SELECT col, 
  ARRAY_REVERSE(SPLIT(text_string, '/'))[OFFSET(0)] solution
FROM `project.dataset.table`
-- ORDER BY col  

结果

Row col solution     
1   1   ccccc    
2   2   ff   
3   3   iiii     

最新更新