在告诉大家如何替换数据内容之前,我建议大家先了解一下SQL Server数据库的数据存储类型:在使用iwms系统的过程中,我们会经常遇到数据内容的替换 *** 作。在告诉大家如何替换数据内容之前,我建议大家先了解一下SQLServer数据库的数据存储类型:SQLServer数据类型:以上是数据库的基础知识,是做网站的朋友都应该知道的内容(无论你使用什么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]),'老字符串','新字符串')二是SQLServer存储过程declare @ptr varbinary(16)declare @artId intdeclare @Position int,@len intset @len = datalength('老字符串')declare wux_Cursor scroll Cursorforselect textptr([字段名]),[key字段名] from [数据表名]for read onlyopen wux_Cursorfetch next from wux_Cursor into @ptr,@artIdwhile @@fetch_status=0beginselect @Position=patindex('%老字符串%',[字段名]) from [数据表名] where [key字段名]=@artIdwhile @Position>0beginset @Position=@Position-1updatetext [数据表名][字段名] @ptr @Position @len '新字符串'select @Position=patindex('%老字符串%',[字段名]) from [数据表名] where [key字段名]=@artIdendfetch next from wux_Cursor into @ptr,@artIdendclose wux_cursordeallocate wux_cursorgo比如,替换iwms文章数据表(iwms_news)中的标题字段(content,ntext类型字段)的部分内容,我们应该这么写declare @ptr varbinary(16)declare @artId intdeclare @Position int,@len intset @len = datalength('老字符串')
1、打开需要修改的Access数据库
2、在数据库“对象”中点击“查询”
3、点击“在设计视图中创建查询”
4、在出现的界面中关闭“显示表”小窗口
5、点击“视图”菜单,选择“SQL视图”,此时将出现查询窗口,您可以在此输入SQL语句了
6、直接输入以下SQL语句:
Update 表 SET 字段=replace(字段,"原字符","替换字符")
您可根据实际情况,将上面红字换掉即可,这里举个例子,假设表为biao、字段为content、原字符为xiazaijb51net、替换字符为down1jb51net,那么相应的SQL语句如下:
复制代码
代码如下:
Update biao SET
content=replace(content,"xiazaijb51net","down1jb51net")
7、点击工具栏中的感叹号,运行即可。
真的要用SQL查询分析器语句来解决吗?那你看下面的语句:
Select , iif(instr(字段名,'<0%start')>0 and instr(字段名,'0over%>')>0,right(字段名,left(字段名,instr('<0%start','字段名')) + len(字段名)-instr('0over%>',字段名)+1),字段名) as 新字段名 from table;
意思是如果在这个字段里有 <0%start 0over%> 标识的值就返回删除中间内容前后拼接的值,如果没有就返回原字段值。在SQL里面没有<0%start 0over%>还去给他套用函数就会出错的
单独使用,使用where匹配字段
set后面,更新字段值,既可以一次一项,也可以一次多项
例如1,
Update table_name Set column_name = new_value Where column_name = some_value
例:
“Person”表中的原始数据:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Storgt 67
update
aaa
set
bbb=
select
substr(bbb,1,9)||'1'||substr(bbb,11,6)
where
bbb
like
'%一%'
;
如果你的bbb字段里还有很多带“一”的话,修改where的条件。
这个问题,最好是有具体要求才好具体解答。
下面是批量替换举例,将客户表里属于湖北省的其地址字段中的“
荆州市
”改为“
荆沙市
”
update
客户
set
地址=replace(地址,"荆州市","荆沙市")
where
省份="湖北";
以上就是关于如何替换SQL Server数据库内容全部的内容,包括:如何替换SQL Server数据库内容、易语言ACCESS数据库中数据内容替换、mysql批量替换数据库中某字符串前的和某字符串后的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)