cinvname                                 cinvstdBXTW-2B1(5单元 宽2mm 长3mm)
BXTTW-2B1(6单元 宽2.5mm 长4mm
BXTTW-24B1.5(6单元 宽2.5mm 长5.5mm)
BXTZW-120B4(8单元 宽宽3.5mm 长6mm)

请教:如何将上面 cinvname 下面的字段中 “(” 括号前面内容赋值给 cinvste
最终形成下面的表样式??
      cinvname                                 cinvstdBXTW-2B1(5单元 宽2mm 长3mm)            BXTW-2B1
BXTTW-2B1(6单元 宽2.5mm 长4mm            BXTTW-2B1
BXTTW-24B1.5(6单元 宽2.5mm 长5.5mm)            BXTTW-24B1.5
BXTZW-120B4(8单元 宽宽3.5mm 长6mm)            BXTZW-120B4

解决方案 »

  1.   

    可能你的字段类型为单字符类型,应该改为双字符类型ntext或nvarchar,nchar
      

  2.   

    cinvname                                    cinvstdBXTW-2B1(5单元 宽2mm 长3mm) 
    BXTTW-2B1(6单元 宽2.5mm 长4mm 
    BXTTW-24B1.5(6单元 宽2.5mm 长5.5mm) 
    BXTZW-120B4(8单元 宽宽3.5mm 长6mm) 请教:如何将上面 cinvname 下面的字段中 “(” 括号前面内容赋值给 cinvste
    最终形成下面的表样式??  cinvname                            cinvstdBXTW-2B1(5单元 宽2mm 长3mm)            BXTW-2B1
    BXTTW-2B1(6单元 宽2.5mm 长4mm         BXTTW-2B1
    BXTTW-24B1.5(6单元 宽2.5mm 长5.5mm)   BXTTW-24B1.5
    BXTZW-120B4(8单元 宽宽3.5mm 长6mm)    BXTZW-120B4格式!
      

  3.   

    update tb set cinvstd=left(cinvname,charindex('(',cinvname)-1)
      

  4.   

    use PracticeDB
    go
    if exists (select 1 from sysobjects where name='tb_a')
    drop table tb_a
    go
    create table tb_a (cinvname nvarchar(max))
    insert into tb_a
    select 'BXTW-2B1(5单元 宽2mm 长3mm)'  union all
    select 'BXTTW-2B1(6单元 宽2.5mm 长4mm'  union all
    select 'BXTTW-24B1.5(6单元 宽2.5mm 长5.5mm)' union all
    select 'BXTZW-120B4(8单元 宽宽3.5mm 长6mm)'   select cinvname,LEFT (cinvname,CHARINDEX('(',cinvname)-1) as cinvstd
    from tb_acinvname cinvstd
    BXTW-2B1(5单元 宽2mm 长3mm) BXTW-2B1
    BXTTW-2B1(6单元 宽2.5mm 长4mm BXTTW-2B1
    BXTTW-24B1.5(6单元 宽2.5mm 长5.5mm) BXTTW-24B1.5
    BXTZW-120B4(8单元 宽宽3.5mm 长6mm) BXTZW-120B4
      

  5.   

    select  cinvstd=left(cinvname,charindex('(',cinvname)-1) from tb
    update tb set cinvstd=left(cinvname,charindex('(',cinvname)-1)