登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

糟老頭的地盤

老頭的地盤听老頭的

 
 
 

日志

 
 

MSSQL批量替换语句 在SQL SERVER中批量修改替换数据  

2011-01-12 12:45:11|  分类: sql |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容)
varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace
替换 text ntext 数据类型字段的语句
复制代码 代码如下:
update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么')
方法二:(替换其他数据类型字段的语句,实际应用中不常见)
复制代码 代码如下:
update [表名] set 字段名 = replace(与前面一样的字段名,'原本内容','想要替换成什么')
以下是补充:
1。如何批量替换ntext字段里面的数据
问题描述:
我想把数据库中News表中的字段content中的一些字符批量替换。
我的content字段是ntext类型的。
我想替换的字段是content字段,我想把里面的www.jb51.net替换成http://www.jb51.net,替换方法是:
update News
set content = replace(cast(content as varchar(8000)),
'www.jb51.net',
'http://www.jb51.net')
2。如何批量替换varchar和nvarchar类型
varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超过8000/4000可以先转换成前面两种类型再使用replace。
update 表名
set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值')
update 表名
set ntext类型字段名=replace(convert(nvarchar(4000),ntext类型字段名),'要替换的字符','替换成的值')
不过上面的方法,对于text或ntext字段超过8000的时候就不能用了,一般可以用asp程序来实现,先读取内容替换后,保存到数据库中。
临时解决方法:就是在生成静态的时间,可以先替换再输出,这里有个貌似不错的解决方法了,大家可以看下一篇文件啊。
如果不熟悉sqlserver的朋友可以用软件来实现
sqlserver 数据库批量替换工具(数据库及文本文件查找替换) v1.0中文绿色版
SQLServer 数据库批量查找替换工具1.2 SQL木马清除助手

 

 

修改时间数据如下

 

UPDATE ProgInfo SET JoinTime = convert(datetime,JoinTime,20)

你先用上面这句话试下  我不知道你的JoinTime是什么类型的  如果是varchar行的 就执行下面这句话

UPDATE ProgInfo SET JoinTime = convert(varchar(20),JoinTime,20)

再有问题HI我

 这个只能用于修改年份

update 表名
set 列 = replace(convert(datetime,列,(20)),
'2010',
'1999')

 

DATEADD
在向指定日期加上一段时间的基础上,返回新的 datetime 值。
 
语法
DATEADD ( datepart , number, date ) 
 
参数
datepart
 
是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft? SQL Server? 识别的日期部分和缩写。
 
日期部分 缩写 
Year yy, yyyy 
quarter qq, q 
Month mm, m 
dayofyear dy, y 
Day dd, d 
Week wk, ww 
Hour hh 
minute mi, n 
second ss, s 
millisecond ms 

--用dateadd加-1,Year, yy, yyyy 三者都可以
update 表名 set 字段名 = dateadd(yy,-1,字段名)

下面说一个可以全部都修改的,年月日都能修改的

update 表名 set 列=dateadd(mm,5,列) where month(列)=3

update 表名 set 列=dateadd(mm,-5,列) where month(列)=3月

  评论这张
 
阅读(3819)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018