数据库替换sql
在告诉大家如何替换数据内容之前,我建议大家先了解一下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 int declare @Position int,@len int set @len = datalength('老字符串') declare wux_Cursor scroll Cursorforselect textptr([字段名]),[key字段名] from [数据表名] for read only open wux_Cursor fetch next from wux_Cursor into @ptr,@artId while @@fetch_status=0beginselect @Position=patindex('%老字符串%',[字段名]) from [数据表名] where [key字段名]=@artId while @Position>0beginset @Position=@Position-1 updatetext [数据表名].[字段名] @ptr @Position @len '新字符串' select @Position=patindex('%老字符串%',[字段名]) from [数据表名] where [key字段名]=@artIdendfetch next from wux_Cursor into @ptr,@artIdendclose wux_cursor deallocate wux_cursor go比如,替换iwms文章数据表(iwms_news)中的标题字段(content,ntext类型字段)的部分内容,我们应该这么写declare @ptr varbinary(16) declare @artId int declare @Position int,@len int set @len = datalength('老字符串')
2. SQL数据库替换命令
直接执行一下语句,即可批量替换数据库中的内容
Update 表名 SET 字段名=replace(字段名,"e.16sucai.com","d.16sucai.com")
其中e.16suai.com 为原数据库内容,d.16sucai.com为新内容,即替换后的内容。
3. 如何对sql数据库中的某一字段进行替换
update 表名 set 列1='yr' where 列1='hr'
如果换成REPLACE函数的话,具体语句如下:
update 表名 set 列1=replace(列1,'hr','yr') where 列1='hr'
以上语句的测试过了。
4. sql数据库替换数据的问题
update
表名
set
字段='-07'
where
字段='-17'
我怀疑这样是可以的
现在都变成0207这种格式的了?===>怎么会这样呢?这个02哪里冒出来的啊
update
表名
set
字段='-07'
where
字段='0207'
你最好先开个小数据库试试
我用Access的。。。。
等待高手ing
5. Sql数据库查找替换如何写谢谢
select case when (这里的对应关系自己写一下) then "' else "" end as 字段名 from table
6. SQL数据库字段之间替换
easy
update table set a=b,b=a ;
done
7. 如何替换SQL数据库数据
楼上的回答可能没办法解决你的问题,你看一下a表及b表,看是否通过几个字段值组合成一个KEY(不重复的值为KEY),然后以这组合KEY为条件,update
B表对应的值。
8. sql数据库数据替换
用更新来做呗~怕出问题,你可以先做个备份,或者select * into 到新表再做替换。
假设昨天的数据表为a,今天是为b
update a set a.字段1=b.xx,a.字段2=b.yy,…) where a.主键=b.主键
这样做的前提是:昨天,今天的数据都以数据库的形式存放。否则,只能重建数据(删除后重新插入今天的数据)
9. 替换数据库的SQL语句
update
表
set
内容字段=replace(内容字段,'
','
')内容长度不超过8千时,可以这样,
如果是text类型
是不支持的只能截取update
表
set
内容字段=replace(substring(字段名称,1,8000),'
','
'),这样导致的结果就是如果长的话就截取了
不完整,所有如果长的话
还是用代码取出来
替换后在存储