1

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  

`

4

1 に答える 1

4

SQL Server にも呼び出される関数はありませんparseURL。この関数を呼び出す場所はどこでも、次を実行します。

EXEC sp_helptext 'parseURL';

関数の定義を提示していただければ、それを翻訳して MySQL 用の同等の関数を作成するお手伝いをいたします。

于 2012-04-17T14:16:16.487 に答える