表table 中有一字段name,导入access的数据,access中该字段的形式是这样的"张三*02010086(姓名*编码)",导入完成后,应该怎么update这个字段呢,把*和后面的编码去掉,只留名字。或者在导入的时候怎么处理呢?

解决方案 »

  1.   

    update table
    set name = left(name, charindex('*', name) - 1)
    where charindex('*', name) > 0
      

  2.   

    update table set name=substring(name,1,charindex('*',name))
      

  3.   

    update table
    set name = left(name,charindex('*',name) - 1)
      

  4.   

    update table set name=substring(name,1,charindex('*',name)-1)
      

  5.   

    update table set name='张三' where name='张三*02010086'
      

  6.   

    declare @name nvarchar(50)
    set @name='张三*02010086'
    set @name=substring(@name, 1, charindex('*', @name)-1)
    select @name
      

  7.   

    如果是留*后面的编码呢?update应该怎么写?
      

  8.   

    如果是留*前面的编码update TB
    set name = substring(name , 1 , charindex('*' , name) - 1 )或update TB
    set name = left(name , charindex('*' , name) - 1 )如果是留*后面的编码update TB
    set name = substring(name , charindex('*' , name) + 1 , len(name) - charindex('*' , name))或update TB
    set name = right(name , len(name) - charindex('*' , name))