一个字段中原来有这样的数据:
1.2万元或1200或18000元也就是每条记录这个字段的值都不同,现要去掉汉字转换为前面的数字,咋写.

解决方案 »

  1.   

    declare @a varchar(20)
    set @a='18000元'
    select left(@a,patindex('%[ 吖-座]%',@a)-1)
      

  2.   

    select a=left(colname,patindex('%[吖-座]%',colname)-1) from tb  --colname为字段名
      

  3.   

    考虑到有写字段没有汉字
    select a=case when patindex('%[吖-座]%',colname)<>0
           then left(colname,patindex('%[吖-座]%',colname)-1) 
           else colname end
    from tb
      

  4.   

    已经测试通过:CREATE TABLE TB_TEST(Name varchar(10))
    insert into TB_TEST(name) select('20万')
    insert into tb_test(name) select('1000元')UPDATE  TB_TEST SET NAME=REPLACE(NAME,'万','')UPDATE  TB_TEST SET NAME=REPLACE(NAME,'元','')select * from TB_TEST
    drop table TB_TEST