用于从URL中间提取扩展的SQL查询

时间:2014-04-16 08:06:27

标签: sql-server tsql

如果我有URL,如何编写单个SQL查询以从URL中提取文件扩展名是这样的:

1) www.xyz.com\hello\world\fileA.txt?ID=01
2) www.xyz.com\hello\world\fileA.txt

如果有人知道,请帮忙

2 个答案:

答案 0 :(得分:1)

如果您使用的是MS T-SQL:

1)选择SUBSTRING(URL,CHARINDEX('?',URL) - 3,3)

2)选择RIGHT(URL,3)

所以你可以按如下方式组合它们:

Select Case When CHARINDEX('?', URL) <> 0 Then SUBSTRING (URL, CHARINDEX('?', URL) - 3, 3)
       ELSE RIGHT(URL, 3)
       END as Extension

CharIndex

PatIndex

答案 1 :(得分:0)

SELECT
substring('www.xyz.com\hello\world\fileA.txt?ID=01',38,10)

将返回10个字符,这些字符位于&#34; ID =&#34;

之后

在此处阅读有关子字符串的更多信息:http://technet.microsoft.com/en-US/eng-eng/library/ms187748.aspx


SELECT
CASE 
WHEN len(URL) = 33 THEN right(URL,3)
ELSE SUBSTRING(URL,31,3)
END
FROM #temp1