首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要一个SQL查询,它将用https:// and /或www返回表中的URL。删除

我需要一个SQL查询,它将用https:// and /或www返回表中的URL。删除
EN

Stack Overflow用户
提问于 2022-03-24 12:58:06
回答 1查看 53关注 0票数 -3

我正在对一个表运行一个查询,以返回不同组织的URL,并试图删除“https://'”、“https://'”和“www.”的任何实例。在开始,任何'/‘在结尾

因此,例如,如果我有一个当前正在返回'https://www.pizzatest.com/'的URL,并且我需要它只是pizzatest.com

这是为了将组织域导入Zendesk。

我找到了一个用于删除https://和http://以及任何/或?在URL的末尾,但我似乎想不出如何删除“www.”从一开始。

这个问题来自于这个问题--归功于Fenton Extract hostname from a URL

代码语言:javascript
复制
/* Get just the host name from a URL */     SUBSTRING(@WebAddress,         /* Starting Position (After any '//') */         (CASE WHEN CHARINDEX('//', @WebAddress)= 0 THEN 1 ELSE CHARINDEX('//', @WebAddress) + 2 END),         /* Length (ending on first '/' or on a '?') */         CASE             WHEN CHARINDEX('/', @WebAddress, CHARINDEX('//', @WebAddress) + 2) > 0 THEN CHARINDEX('/', @WebAddress, CHARINDEX('//', @WebAddress) + 2) - (CASE WHEN CHARINDEX('//', @WebAddress)= 0 THEN 1 ELSE CHARINDEX('//', @WebAddress) + 2 END)             WHEN CHARINDEX('?', @WebAddress, CHARINDEX('//', @WebAddress) + 2) > 0 THEN CHARINDEX('?', @WebAddress, CHARINDEX('//', @WebAddress) + 2) - (CASE WHEN CHARINDEX('//', @WebAddress)= 0 THEN 1 ELSE CHARINDEX('//', @WebAddress) + 2 END)             ELSE LEN(@WebAddress)         END     ) AS 'HostName'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-24 13:05:26

您可以使用regexp_replace()移除不同的部分,然后使用trim()消除任何拖尾的/

代码语言:javascript
复制
trim(regexp_replace(the_column, '(http://)|(https://)|(www.)', '', 'g'), '/')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71602943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档