我正在遇到一个问题,试图弄清楚如何根据字符串中多次出现的字符将字符串解析为子字符串。对于这种情况
示例:
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