sql - 在 BigQuery Standard SQL 中获取最后一个斜杠后的字符串

标签 sql regex google-bigquery

假设我有一个名为“Youtube”的列,我想在 URL 的最后一个斜杠之后提取字符串。我将如何在 BigQuery 标准 SQL 中执行此操作?

例子:

https://youtube.com/user/HaraldSchmidtShow

https://youtube.com/user/applesofficial

https://youtube.com/user/GrahamColton

基本上,我想要:
HaraldSchmidtShow

applesofficial

GrahamColton

最佳答案

上一个答案的替代方法,当末尾有“/”时也适用:

WITH data AS(
  SELECT 'https://youtube.com/user/HaraldSchmidtShow' AS url UNION ALL
  SELECT 'https://youtube.com/user/applesofficial' UNION ALL
  SELECT 'https://youtube.com/user/GrahamColton' UNION ALL
  SELECT 'https://youtube.com/user/GrahamColton/'
)

SELECT REGEXP_EXTRACT(url, r'/([^/]+)/?$') name
FROM `data`

关于sql - 在 BigQuery Standard SQL 中获取最后一个斜杠后的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53073372/

相关文章:

带有默认值的 SQL SELECT

mysql - 如何选择第二个表中具有最多不同行的行 - MySQL?

mysql - 在与每个其他用户的每次对话中查询最新消息

Python 的正则表达式星号量词没有按预期工作

python - 在 AI-Platform-Notebooks 中使用 BigQuery 的 ContextualVersionConflict

c# - 慢查询 Entity Framework

python - 像这样的字符串的正则表达式

javascript - 正则表达式(替换所有非数字字符并强制执行 2 个小数位数字)

google-bigquery - 在 Google BigQuery 中使用给定范围内的所有日期填充表格

sql - 使用 WHERE 但不使用 GROUP BY 进行过滤