在使用iwms系统的过程中,我们会经常遇到数据内容的内容替换操作。在告诉大家如何替换数据内容之前,替换我建议大家先了解一下SQL Server数据库的据库数据存储类型:
SQL Server数据类型:
以上是数据库的基础知识,是内容做网站的朋友都应该知道的内容(无论你使用什么cms),所以建议大家都耐心看一下。替换
数据替换一般都发生在字符串数据字段中,据库除了ntext类型字段以外的内容其他字符串数据字段都可以使用以下的sql语句进行替换:
update [swf_Upload] set [Dir] = replace([Dir],'200901/14','200901/15') update [swf_Content] set [Description] = replace([Description],'200901/14','200901/15') update [swf_Content_01] set [content] = replace(convert(varchar(4000), [content]),'200901/14','200901/15') |
UPDATE [数据表名] SET [字段名] = REPLACE([字段名],'老字符串','新字符串')
比如,替换iwms文章数据表(iwms_news)中的替换标题字段(title)的部分内容,我们应该这么写:
UPDATE [iwms_news] SET [title] = REPLACE([title],据库'老字符串','新字符串')
上面的sql语句在iwms后台的sql执行里面可以直接执行,基本上可以搞定所有的内容替换操作,但是替换由于ntext数据长度的原因,这一方法对ntext类型字段无效。那我们该用什么方法替换ntext类型字段的内容呢?方法有两种:
一是类型转换,将ntext类型转换为varchar类型,然后再用replace。适合于单页内容***长度<4000的文章。
update [数据表名] set [字段名] = replace(convert(varchar(4000), [字段名]),'老字符串','新字符串')
比如,替换iwms文章数据表(iwms_news)中的标题字段(content,ntext类型字段)的部分内容,我们应该这么写:
update iwms_news set [content] = replace(convert(varchar(4000),[content]),'老字符串','新字符串')
二是SQL Server存储过程
declare @ptr varbinary(16)比如,替换iwms文章数据表(iwms_news)中的标题字段(content,ntext类型字段)的部分内容,我们应该这么写
declare @ptr varbinary(16)ok了,需要注意的是:存储过程只能在SQL Server查询分析器中执行。
另外,由于iwms数据库结构的问题,有分页的文章内容需要先后对iwms_news和iwms_pages两个表内容进行替换操作。
【编辑推荐】
(责任编辑:时尚)
568万元!四川省攀枝花市获省建筑领域绿色低碳循环发展专项资金支持
好消息!全国首个百万千瓦煤电机组节能减排升级与改造示范项目建成投产
云南省国资委印发《关于加快推进绿色国资建设的实施意见》 推进示范引领
央行上海总部:10月人民币贷款增加357亿元 住户部门贷款增加202亿元