以下查询从网址中提取最后两个部分。我想从网址中提取第二个最后一部分,不包括最后一部分。
SELECT substring(url,'/[^/]+/[^/]+$') FROM url_time;
假设我将输入设为Input : http://stackoverflow.com/questions/ask
,那么我希望获得Output : /questions
对不起,如果这是一个微不足道的问题。我无法达到所需的解决方案。
感谢任何帮助。
答案 0 :(得分:1)
regexp_replace和捕获组会这样做:
SELECT REGEXP_REPLACE ( url,'^.*/([^/]+)/[^/]+$', '\1' ) FROM url_time;
最初的^.*
消耗了网址的开头。第一个()
周围的括号[^/]+
表示捕获组,\1
将整个匹配替换为输出中捕获组的值。