sql批量替换
❶ sql 数据批量替换更新
UPDATEtbSETXH=REPLACE(XH,'','M')
❷ sql批量替换语句如何实现 麻烦高手帮我一下 小弟感激不尽
这个表如果有主键区分的话是可以替换的,把正确的数据存在一个同样表结构的新表内
用sql:
update a set a.age=
(select b.age from b where a.row_id = b.row_id)
where exists
(select b.age from b where a.row_id = b.row_id)
针对替换范围内的数据进行替换数据,如果主键不能区分,可以多关联几个信息
❸ mysql批量替换的SQL语句怎么写
替换语句使用UPDATE语句,例如:
UPDATE
表名
SET
字段名=修改后的值
WHERE
条件
如果你还是不会写语句,请告诉我你希望进行怎样的替换,我帮你写。
❹ 如何批处理命令替换sql文件的某字段
如果是在windows系统中,打开该sql文件
,CTRL+H打开查找替换功能,输入你要查找和所要替换的内容,全部替换即可。
如果是在linux/unix系统中,则需要用字符管理命令sed来批量替换。
❺ SQL批量数据替换或正则表达式
我不知道你用的是什么数据库,下面我给你一个Oracle数据库的替换掉(-N+数字)的例子
update[dbo].[Winit库存]set[商品编号]=REGEXP_REPLACE([商品编号],'-Nd+','')
不同的数据库,用的可以用正则表达式的replace函数不一样
SQL Server中我不知道你那里有没有dbo.RegexReplace函数,是不是还要现建这个替换函数
update[dbo].[Winit库存]set[商品编号]=dbo.RegexReplace([商品编号],'-Nd+','',1)
下面是建立RegexReplace函数的sql语句
--如果存在则删除原有函数
IFOBJECT_ID(N'dbo.RegexReplace')ISNOTNULL
DROPFUNCTIONdbo.RegexReplace
GO
--开始创建正则替换函数
CREATEFUNCTIONdbo.RegexReplace
(
@stringVARCHAR(MAX),--被替换的字符串
@patternVARCHAR(255),--替换模板
@replacestrVARCHAR(255),--替换后的字符串
@IgnoreCaseINT=0--0区分大小写1不区分大小写
)
RETURNSVARCHAR(8000)
AS
BEGIN
DECLARE@objRegexINT,@retstrVARCHAR(8000)
--创建对象
EXECsp_OACreate'VBScript.RegExp',@objRegexOUT
--设置属性
EXECsp_OASetProperty@objRegex,'Pattern',@pattern
EXECsp_OASetProperty@objRegex,'IgnoreCase',@IgnoreCase
EXECsp_OASetProperty@objRegex,'Global',1
--执行
EXECsp_OAMethod@objRegex,'Replace',@retstrOUT,@string,@replacestr
--释放
EXECUTEsp_OADestroy@objRegex
RETURN@retstr
END
GO
--保证正常运行的话,需要将OleAutomationProceres选项置为1
EXECsp_configure'showadvancedoptions',1
RECONFIGUREWITHOVERRIDE
EXECsp_configure'OleAutomationProceres',1
RECONFIGUREWITHOVERRIDE
❻ 怎么批量替换SQL关键字
用sql的批量更新功能,把要替换字符替换成想要替换成的字符。
sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符。
命令总解:update 表的名称 set 替换字段=REPLACE(替换字段,原来内容,新内容)
举例说明:
1)把backupfile表里url的字段内容为http://16hg.cn的全部改为http://16hg.net。
update backupfile set url=REPLACE(url,'http://16hg.cn','http://16hg.net')
2)根据条件增加字段的内容,如把file_number=1的记录的logical_name字段的内容前面加上tmp,后面加上end。
update backupfile set logical_name=REPLACE(logical_name,logical_name,'tmp'+logical_name+' end ') where file_number=1
3)根据条件去掉指定记录的前面2个字符。
update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,3,len(logical_name)-2)) where file_number=1
4)根据条件去掉指定记录的后面4个字符。
update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,1,len(logical_name)-4)) where file_number=2
如有不清楚的可以先用select语句验证是否达成自己想要的效果再进行替换:
SELECT REPLACE(替换字段,'原内容','新内容') from 表名;
update 表名 set 替换字段=(REPLACE(替换字段,'原内容','新内容'))
SQL增加字段内容 update member set memo=memo+'增加一年'
❼ 如何用SQL批量替换字符
SUBSTRING
(UserCode,
5,
len(UserCode)-3)
你里面的5,是什么意思呢???
从第4位开始取啊,应该是4,就可以了
❽ 如何批量执行sql查找替换
在Linux里面,有一个比较好的工具sed,sed -i "s#A#B#g" filename,比如:sed -i "s#linux#windows#g" a.txt,这样可以把a.txt文件中所有的linux替换成windows,“#”可以换成其他的字符,可以根据实际情况来定。如果替换的内容来自文件,可以用脚本遍历文件的方式实现。例如:
旧地址文件:A.txt,需要处理的sql文件:mysql.sql,替换后的新内容:newtext
#/bin/bash
for line in `cat .A.txt`;
do
sed -i "s#$line#newtext#g" mysql.sql
done
当然,也可以指定替换行的范围(例如50行到100行),具体的请参考linux下sed命令的用法
❾ sql批量替换要怎么弄
啥数据库,,,
sqlserver可以直接
selectimg+pinyin+'/'
from表
update表setimg=img+pinyin+'/'
where
这样就可以了,,,
各个数据库连接符不同,,,,
❿ SQL将查询结果中的值批量替换为其它值
mysql的话:
update表1a,表2b,表2cseta.BatchID=b.name,a.PlanNature=c.namewherea.BatchID=b.BatchIDanda.PlanNature=c.BatchID
你第二个表没给字段名,第三列我这边定义为BatchID,第四列定义为name。
执行前备份表1