批量替换数据库中一个地段的内容。这书数据库中一个字段    姓名:张效菁  <br/>  编号:0000</br>  魅丽宣言:
我想吧   0000 改成   0001
我数据库中有1000条这样的数据。我要把编号以此编好好。
比如姓名:张效菁  <br/>  编号:0001</br>  魅丽宣言:
姓名:张旭红  <br/>  编号:0002</br>  魅丽宣言:求解答。

解决方案 »

  1.   

    update table
    set 编号 = '0001'
    where 
    姓名= '张效菁'
    and 编号 = '0000'
      

  2.   

    --> 测试数据:[tb]
    IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb]
    GO 
    CREATE TABLE [tb]([name] VARCHAR(50))
    INSERT [tb]
    SELECT '姓名:张效菁 <br/> 编号:0000</br> 魅丽宣言:' UNION ALL
    SELECT '姓名:张旭红 <br/> 编号:0000</br> 魅丽宣言:'
    --------------开始查询--------------------------;WITH t AS 
    (
    SELECT *,row_id=ROW_NUMBER() OVER(ORDER BY [name]) FROM [tb]
    )
    SELECT LEFT([name],CHARINDEX('0000',[name])-1)+RIGHT(10000+row_id,4)+RIGHT([name],LEN([name])-CHARINDEX('0000',[name])-3)
    FROM t
    ----------------结果----------------------------
    /* 
    姓名:张效菁 <br/> 编号:0001</br> 魅丽宣言:
    姓名:张旭红 <br/> 编号:0002</br> 魅丽宣言:(2 行受影响)*/
      

  3.   


    --向筱筱橙学习
    IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb]
    GO 
    CREATE TABLE [tb]([name] VARCHAR(50))
    INSERT [tb]
    SELECT '姓名:张效菁 <br/> 编号:0000</br> 魅丽宣言:' UNION ALL
    SELECT '姓名:张旭红 <br/> 编号:0000</br> 魅丽宣言:'
    --------------开始查询--------------------------SELECT LEFT([name],CHARINDEX('0000',[name])-1)+RIGHT(10000+row_id,4)+RIGHT([name],LEN([name])-CHARINDEX('0000',[name])-3)
    FROM (SELECT *,row_id=ROW_NUMBER() OVER(ORDER BY [name]) FROM [tb])t