我正在對表運行查詢以回傳不同組織的 URL,并且我正在嘗試洗掉“https://”、“http://”和“www”的任何實體。開頭,結尾有任何“/”
因此,例如,如果我有一個當前正在回傳的 URL,'https://www.pizzatest.com/'我需要它只是pizzatest.com
這是用于將組織域匯入 Zendesk
我找到了一個適用于洗掉 https:// 和 http:// 以及任何 / 或 ? 在 URL 的末尾,但我似乎無法弄清楚如何洗掉“www。” 從一開始就。
查詢取自這里的這個問題 - 歸功于Fenton Extract hostname from a URL
/* 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'
uj5u.com熱心網友回復:
您可以使用 regexp_replace() 洗掉不同的部分,然后用于trim()擺脫尾隨的任何前導/
trim(regexp_replace(the_column, '(http://)|(https://)|(www.)', '', 'g'), '/')
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/448973.html
標籤:sql PostgreSQL
上一篇:SQL選擇和計數在同一個查詢中
