extractfilename(http://test-tcen.chinawangxun.com/test-tcen/playback.php?FileName=http%3A//211.147.5.55/kejian/wlkc_demo/demo_F203-7-19-1.wrf')

解决方案 »

  1.   

    --示例declare @s varchar(1000)
    set @s='http://test-tcen.chinawangxun.com/test-tcen/playback.php?FileName=http%3A//211.147.5.55/kejian/wlkc_demo/demo_F203-7-19-1.wrf'--截取
    select 文件名=right(@s,charindex('/',reverse(@s))-1)--结果:文件名                     
    ---------------------------
    demo_F203-7-19-1.wrf(所影响的行数为 1 行)
      

  2.   

    declare @s varchar(40)
    set @s='aa/bb/小猪/小猫'select top 10 a=right(@s,charindex('/',reverse(@S))-1)
      

  3.   

    --查询表就是(增加了一个容错处理,这样仅有文件名的处理也正常):select 文件名=right(字段,charindex('/',reverse(字段)+'/')-1) from 表
      

  4.   

    select 文件名=right('http://test-tcen.chinawangxun.com/test-tcen/playback.php?FileName=http%3A//211.147.5.55/kejian/wlkc_demo/demo_F203-7-19-1.wrf',charindex('/',reverse('http://test-tcen.chinawangxun.com/test-tcen/playback.php?FileName=http%3A//211.147.5.55/kejian/wlkc_demo/demo_F203-7-19-1.wrf'))-1)
      

  5.   

    方法:
    1.将路径与文件名分别存入两个表(如果相同目录多)
            t1                                   t2
    pathid,pathmane                      fid,pathid,fmane2.在外部程序中提取文件名:从字符串最后一个字符读取如果不是“/”就继续向前读
    直到“/”,然后取出说读取的子字符串。
      

  6.   

    select substring(reverse(substring(reverse('http://test-cen.chinawangxun.com/test-tcen/playback.php?FileName=http%3A//211.147.5.55/kejian/wlkc_demo/demo_F203-7-19-1.wrf'),1,charindex('/',reverse('http://test-tcen.chinawangxun.com/test-tcen/playback.php?FileName=http%3A//211.147.5.55/kejian/wlkc_demo/demo_F203-7-19-1.wrf')))),2,8000)