如何用mysql解析url?

时间:2012-04-17 14:12:06

标签: mysql sql-server function stored-procedures parse-url

Mssql有一个功能parseURL 但我们已将数据库从mssql移至mysql

Mysql没有parse url,现在我们需要手动创建parseURL函数。

如何在parse url中创建mysql功能?

这是mssql函数

`

SET QUOTED_IDENTIFIER ON  
SET ANSI_NULLS ON  
GO  
CREATE      FUNCTION [dbo].[parseURL]  (@strURL varchar(1000))  
RETURNS varchar(1000)  
AS  
BEGIN  
IF CHARINDEX('http://',@strURL) > 0 OR CHARINDEX('https://',@strURL) > 0  
-- Ghetto-tastic  
SELECT @strURL = REPLACE(@strURL,'https://','')  
SELECT @strURL = REPLACE(@strURL,'http://','')  
SELECT @strURL = REPLACE(@strURL,'www','')  
-- Remove everything after "/" if one exists  
IF CHARINDEX('/',@strURL) > 0 (SELECT @strURL = LEFT(@strURL,CHARINDEX('/',@strURL)-1))  

-- Optional: Remove subdomains but differentiate between www.google.com and www.google.com.au  
IF (LEN(@strURL)LEN(REPLACE(@strURL,'.','')))/LEN('.') < 3 - if there are less than 3 periods  
SELECT @strURL = PARSENAME(@strURL,2) + '.' + PARSENAME(@strURL,1)  
ELSE -- It's likely a google.co.uk, or google.com.au  
SELECT @strURL = PARSENAME(@strURL,3) + '.' + PARSENAME(@strURL,2) + '.' + PARSENAME(@strURL,1)  
RETURN @strURL  
END  
GO  

`

1 个答案:

答案 0 :(得分:4)

SQL Server也没有名为parseURL的函数。无论您在何处调用此函数,请运行:

EXEC sp_helptext 'parseURL';

如果您向我们展示了该函数的定义,我们可以帮助您翻译它并为MySQL创建一个等效的函数。