要截取的字段为:某某公司-某某部门-某某人
 截取后:某某公司-某某部门 
请问如何处理 截取字符

解决方案 »

  1.   

    declare @a nvarchar(50)
    set @a='某某公司-某某部门-某某人'
    select left(@a,len(@a)-charindex('-',REVERSE(@a)))
      

  2.   

    declare @a nvarchar(50)
    set @a='某某公司-某某部门-某某人'
    select left(@a,len(@a)-charindex('-',REVERSE(@a)))
      

  3.   

    是这样不:
    declare @a nvarchar(50)
    set @a='某某公司-某某部门-某某人'
    select left(@a,charindex('部门',@a)+1)
    /*
    某某公司-某某部门
    */
      

  4.   

    也可以这样:declare @a nvarchar(50)
    set @a='某某公司-某某部门-某某人'
    select left(@a,len(@a) - charindex('-',reverse(@a)))
    /*
    某某公司-某某部门
    */
      

  5.   


    declare @a nvarchar(50)
    set @a='某某公司-某某部门-某某人'
    select LEFT (@a,charindex('-',@a,charindex('-',@a)+1)-1)
      

  6.   

    用charindex函数定位那个“-”符号,再截取字符。