oracle 批量替换某字段中第一位的值

比如说,某字段值000001 000002 000003 想要把第一位的0批量替换成2

第1个回答  2010-08-31
UPDATE TABLE_NAME SET COL1 = '2'||SUBSTR(COL1,2,LENGTH(COL1) - 1)
第2个回答  2010-08-31
对于这个意思,不知道楼住是想哪一种?
1、不管第一位是什么,直接替换为2;
2、只有当第一位为0的时候,才替换为2;

对于第一种想法的话,可以通过截取字符串,可以用下面的更新语句:
UPDATE 表名 SET 字段名= '2' || substr(字段名,2) WHERE 字段名 IS NOT NULL;

(注意:oracle中的第一个字符的位置为1,第二个的位置为2,因此,上面使用substr(字段名,2),而不像java中,使用1)

对于第二种想法,可以使用正则表达来进行处理,或者是采用下面的方法:
UPDATE 表名 SET 字段名= '2' || substr(字段名,2) WHERE 字段名 IS NOT NULL AND substr(字段名,1,1) = '0';
(经过试验,其中第二种情况下,条件:字段名 IS NOT NULL 可以省略掉)本回答被提问者采纳

oracle 批量替换某字段中第一位的值
UPDATE TABLE_NAME SET COL1 = '2'||SUBSTR(COL1,2,LENGTH(COL1) - 1)

oracle中,如何批量替换某字段的部分值,该字段其他部分保持不变?_百 ...
insert into test_str_replace values('1','abcbcade');insert into test_str_replace values('2','aaabcbca');insert into test_str_replace values('3','aabcaabcab');commit;3、查询表中全量数据;select t.*, rowid from test_str_replace t;4、编写语句,将value字段中'abc'替换成'12...

1、oracle 如何批量替换某一字段的部分值,例如一二四五第0001号,改为...
replace('一二四五第0001号','二','二三')=一二三四五第0001号

oracle字段值批量替换
解析:string2 的值要在string1中查找,是从start_position给出的数值(即:位置,-1表示从尾部开始倒数第1个)开始在string1检索,检索第nth_appearance(几)次出现string2。SELECT A2.id,A1.name from A2 left joinA1 on A2.codeall=A1.codewhere LENGTHB(codeall)-LENGTHB(replace(codeall,',...

oracle 在字段中替换某字
select decode(to_char(qq), '123', 'xxx', qq) from aa 问题补充:select replace(to_char(qq), '2', 'x') from aa 只是批量把2、3、7换成X:select replace(replace(replace(to_char(qq), '2', 'x'), '3', 'x'), '7', 'x') from aa ...

求个oracle修改替换某字段内某段值的语句
update biaoming set mc=replace(mc,'北京市北京','北京市')

oracle 批量替换多字段内容
update As_user set uflag=1 where ulag=0;select * from as_user where uflag in(0,1) order by uflag;希望我的回答对你有帮助。

SQL语句如何批量替换某一特定字符?比如批量替换整个数据库中把“北京...
select name as tablename from sys.tables --所有用户表名 select name as columname from sys.columns where object_id=object_id('tablename')--用户表中的所有列名 update table set @columname=replace(@columname,'北京','南京')遍历每个表中的每个列进行替换更改 ...

sql中如何批量替换字段里的字符串?
如果是sqlserver或oracle等,那个*是要替换成%的\\x0d\\x0a\\x0d\\x0a---补充---\\x0d\\x0a按你说的意思\\x0d\\x0aaccess:\\x0d\\x0aupdate表名set字段名='A'where字段名like'aaa*bbb'\\x0d\\x0a\\x0d\\x0asqlserver或oracle:\\x0d\\x0aupdate表名set字段名='A'where字段名like'aaa%bb...

sql批量修改字段值。
update user set path=stuff(path,1,5,'a\/b')update user set path=replace(path,'ab\/cd,'a\/b')

相似回答