比如表的结构如下    na'可比g薯片32g'
'32克可比g薯片' 想要的结果是
'可比克薯片32g'
'32克可比克薯片'.....................
只要发现 可比g  就把后面的 g 替换成 克

解决方案 »

  1.   

    update tab set
      na = replace(na,'g','克')
      

  2.   

    update tb set na=replace(na,'g','克') where charindex('g',col)>0
      

  3.   

    ----------------------------------------------------------------
    -- Author  :fredrickhu(小F,向高手学习)
    -- Date    :2011-10-08 09:17:57
    -- Verstion:
    --      Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86) 
    -- Apr 22 2011 11:57:00 
    -- Copyright (c) Microsoft Corporation
    -- Enterprise Evaluation Edition on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)
    --
    ----------------------------------------------------------------
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    go 
    create table [tb]([na] varchar(100))
    insert [tb]
    select '可比g薯片32g' union all
    select '32克可比g薯片'
    --------------开始查询--------------------------
    update tb set na=replace(na,'g','克') where charindex('g',na)>0
    select * from [tb]
    ----------------结果----------------------------
    /* na
    ----------------------------------------------------------------------------------------------------
    可比克薯片32克
    32克可比克薯片(2 行受影响)
    */
      

  4.   

    ----------------------------------------------------------------
    -- Author  :fredrickhu(小F,向高手学习)
    -- Date    :2011-10-08 09:17:57
    -- Verstion:
    --      Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86) 
    -- Apr 22 2011 11:57:00 
    -- Copyright (c) Microsoft Corporation
    -- Enterprise Evaluation Edition on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)
    --
    ----------------------------------------------------------------
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    go 
    create table [tb]([na] varchar(100))
    insert [tb]
    select '可比g薯片32g' union all
    select '32克可比g薯片'
    --------------开始查询--------------------------
    update tb set na=replace(na,'可比g','可比克') where charindex('可比g',na)>0
    select * from [tb]
    ----------------结果----------------------------
    /* na
    ----------------------------------------------------------------------------------------------------
    可比克薯片32g
    32克可比克薯片(2 行受影响)
    */
      

  5.   

    只替换 可比g 的g.  32g的g不能替换...
      

  6.   

    如果你上面固定是这种格式- -那你只能用
    UPDATE table SET na = '可比克薯片32g' FROM table WHERE na = '可比g薯片32g'
      

  7.   

    select '可比g薯片32g' na into #tb
    union all 
    select '32克可比g薯片'
    select stuff(na,CHARINDEX('g',na),1,'克') from #tb
      

  8.   

    update #tb
    set na= stuff(na,CHARINDEX('g',na),1,'克')
      

  9.   

    谢谢大家的帮助
     小弟现在分数不够不能结贴.最佳答案
      update tb set na=replace(na,'可比g','可比克') where charindex('可比g',na)>0
    select * from [tb]
    ----------------结果----------------------------
    /* na
    ----------------------------------------------------------------------------------------------------
    可比克薯片32g
    32克可比克薯片(2 行受影响)