以下是 BigQuery 标准 SQL
#standardSQL
SELECT url,
REPLACE(REGEXP_REPLACE(REPLACE(url, '//', '\\'), r'/[^/]+$', ''), '\\', '//')
FROM `project.dataset.table`
您可以使用您问题中的示例数据进行测试,使用上面的示例,如下例所示
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'https://www.stackoverflow.com' url UNION ALL
SELECT 'https://www.stackoverflow.com/questions' UNION ALL
SELECT 'https://www.stackoverflow.com/questions/ask' UNION ALL
SELECT 'https://stackoverflow.com/questions/ask/some-text'
)
SELECT url,
REPLACE(REGEXP_REPLACE(REPLACE(url, '//', '\\'), r'/[^/]+$', ''), '\\', '//') value
FROM `project.dataset.table`
结果
Row url value
1 https://www.stackoverflow.com https://www.stackoverflow.com
2 https://www.stackoverflow.com/questions https://www.stackoverflow.com
3 https://www.stackoverflow.com/questions/ask https://www.stackoverflow.com/questions
4 https://stackoverflow.com/questions/ask/some-text https://stackoverflow.com/questions/ask