表tb,字段data,有数据如下:data
中国
中国人
中国人民
中国人民共和国
中国人中国好
中国人中国好中国
我现在想用一句sql语句,更新前面两位带有"中国"的.
比如:我要把前面两个字为"中国"的改成"ZG".更新后结果为
data
ZG
ZG人
ZG人民
ZG人民共和国
ZG人中国好
ZG人中国好中国怎么写这个sql更新语句?谢谢!

解决方案 »

  1.   

    ----------------------------------------------------------------------------------
    -- Author : htl258(Tony)
    -- Date   : 2010-05-17 18:48:34
    -- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) 
    --          Jul  9 2008 14:43:34 
    --          Copyright (c) 1988-2008 Microsoft Corporation
    --          Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)
    -- Blog   : http://blog.csdn.net/htl258
    ------------------------------------------------------------------------------------> 生成测试数据表: [tb]
    IF OBJECT_ID('[tb]') IS NOT NULL
    DROP TABLE [tb]
    GO
    CREATE TABLE [tb] ([data] [nvarchar](20))
    INSERT INTO [tb]
    SELECT '中国' UNION ALL
    SELECT '中国人' UNION ALL
    SELECT '中国人民' UNION ALL
    SELECT '中国人民共和国' UNION ALL
    SELECT '中国人中国好' UNION ALL
    SELECT '中国人中国好中国'-->SQL查询如下:
    UPDATE TB SET
    data = STUFF(data,1,2,'ZG')
    WHERE LEFT(data,2)=N'中国'SELECT * FROM [tb]
    /*
    data
    --------------------
    ZG
    ZG人
    ZG人民
    ZG人民共和国
    ZG人中国好
    ZG人中国好中国(6 行受影响)
    */
      

  2.   

    update tb set data=left(data,2)+right(data,len(data)-2) 
    这样?