如果我有URL,如何编写单个SQL查询以从URL中提取文件扩展名是这样的:
1) www.xyz.com\hello\world\fileA.txt?ID=01
2) www.xyz.com\hello\world\fileA.txt
如果有人知道,请帮忙
答案 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
答案 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