【问题标题】:how to parse url with mysql?如何用mysql解析url?
【发布时间】:2012-04-28 21:24:24
【问题描述】:

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

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

如何在mysql中创建parse url函数?

这是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  

`

【问题讨论】:

  • mssql 真的有parseUrl() 函数吗?
  • 是的,mssql 有 parseurl() 函数。
  • 向我们展示 MSDN 上的文档?
  • @vchakoshy 你能证明这一点吗? Shlwapi.dll 中有一个 ParseURL() 方法,但据我所知 SQL Server 不能直接访问它。
  • @AaronBertrand 我很抱歉这个函数不在 mssql 函数中。我将此添加到问题中

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


【解决方案1】:

SQL Server 也没有名为parseURL 的函数。无论你在哪里调用这个函数,运行:

EXEC sp_helptext 'parseURL';

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    相关资源
    最近更新 更多