with aa as 
 (
 select 'BPMOU://尚层装饰(北京)有限公司北京分公司/GYS0075'MemberFullName
 union all select 
'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/yangj'  MemberFullName union all select 
'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/cuixm' MemberFullName  union all select 
'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/会计部/liuxb' MemberFullName union all select 
'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/luoxn' MemberFullName union all select 
'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/menhj' MemberFullName union all select 
'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/wuxl' MemberFullName union all select 
'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/zhangln' MemberFullName union all select 
'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/会计部/dingyp' MemberFullName union all select 
'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/会计部/hand' MemberFullName
 )
 select   REPLACE(MemberFullName, Right(MemberFullName,Charindex('/',Reverse(MemberFullName),1)-1),'') part1,
 Right(MemberFullName,Charindex('/',Reverse(MemberFullName),1)-1) part2 from aa

解决方案 »

  1.   


    --参考下:应该可以更优化点
    if exists(select * from sys.tables where name='test')
    drop table test
    gocreate table test
    (
    MemberFullName varchar(100)
    )
    insert into test
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/GYS0075' union 
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/yangj' union 
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/cuixm' union 
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/会计部/liuxb' union 
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/luoxn' union 
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/menhj' union 
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/wuxl' union 
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/核算部/zhangln' union 
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/会计部/dingyp' union 
    select 'BPMOU://尚层装饰(北京)有限公司北京分公司/财务部/会计部/hand'select 
    left(memberfullname,len(memberfullname)-len(right(memberfullname,charindex('/',reverse(memberfullname))-1))),
    right(memberfullname,charindex('/',reverse(memberfullname))-1)from test