我有一张桌子:
表1:
ID URL
1 http://msdn.microsoft.com/en-us/library/9a6a2sxy.aspx
2 http://en.wikipedia.org/wiki/mysql
3 http://wrong-url
4 http://www.chami.com/tips/internet/042599i.html
5 http://www.chami.com
我想添加一列来记录URL的域名。 我想得到一张这样的表:
ID URL Domain
1 http://msdn.microsoft.com/en-us/library/9a6a2sxy.aspx microsoft.com
2 http://en.wikipedia.org/wiki/mysql wikipedia.org
3 http://wrong-url null
4 http://www.chami.com/tips/internet/042599i.html chami.com
5 http://www.chami.com chami.com
任何人都可以提供解决方案吗?
答案 0 :(得分:0)
您可以使用substring_index()
:
select substring_index(substring_index(url, '/', 3), substring_index, '.', -2) as domain
这对第三个例子不起作用。为此,使用case
检测模式。类似的东西:
select (case when url like 'http//%.%.%/%'
then substring_index(substring_index(url, '/', 3), substring_index, '.', -2)
end) as domain