日期:2014-05-17  浏览次数:20379 次

求一个简单的SQL
求一个HTTP开头的网址

比如
"http://forum.csdn.net/PointForum/Forum/PostTopic.aspx?forumID=f5ecbfe4-f43f-4cb9-9f32-efeacf9fd57a" (有引号)


我想得到 的是 forum.csdn.net

我用这样写

update [master].[dbo].[TEST]
set [R_URL]=substring([URL],charindex('/',[url],1)+2,
charindex('/',[url],10)-charindex('/',[url],1)-2)

是可以得到,但是如果网址是null或者找不到/的话 的话,那
charindex('/',[url],10)-charindex('/',[url],1)-2 就是-2 了,会报错,case when 不知道加在哪 ?

求赐教


------解决方案--------------------
SQL code
update [master].[dbo].[TEST]
set [R_URL]=(case when len([URL)>0 then substring([URL],charindex('/',[url],1)+2,
charindex('/',[url],10)-charindex('/',[url],1)-2) else '' end)