SQL批量替换语句

来源:互联网 发布:mac如何关闭访客模式 编辑:程序博客网 时间:2024/05/17 10:42

一般文本字段不超过8000可以先转换varchar和nvarchar类型再使用replace
替换 text ntext 数据类型字段的语句

update 表名 set 列名=replace(cast(列名 as varchar(8000)) ,'原本内容','需要替换的内容)

 

例如:有一张表CM_Contract_B  表内容如下:

 

cDefine1     cDefine2     cDefine3

2000-01        NULL             2.0

2000-02        NULL             2.2

2000-03        NULL             2.3

2000-04        NULL             2.0

2000-05        NULL             2.0

2000-06        NULL             2.7

2000-07        NULL             2.4

2000-08        NULL             2.2

2000-09        NULL             2.5

2000-10        NULL             2.0

 

下面我想把 cDefine1 列的2000全部改成2001,执行以下语句:

update CM_Contract_B set cDefine1=replace(cast(cDefine1 as varchar(8000)) ,'2000','2001') 



select 最终效果图如下:

 

cDefine1     cDefine2     cDefine3

2001-01        NULL             2.0

2001-02        NULL             2.2

2001-03        NULL             2.3

2001-04        NULL             2.0

2001-05        NULL             2.0

2001-06        NULL             2.7

2001-07        NULL             2.4

2001-08        NULL             2.2

2001-09        NULL             2.5

2001-10        NULL             2.0