批量修改oracle数据库中的某一个字段?

我的表中有一类字段,由于内容太长了,我想做一些批处理,把记录中包含括号的内容给去掉,如何用sql实现

可以通过update方法进行批量修改。
sql:update table_name SET age=25;
备注:也可以添加必要的条件,针对固定条件的数据进行批量修改。
sql:update table_name SET age=age+1 where name ='zhangsan ';
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-03
写个过程处理。或者写个小程序来处理吧。如果存储过程熟练就用存储过程,如果程序熟练就程序吧

先要分析数据。看是否有规律。如果有规律用字符串截取然后再拼在一起。就解决了。如果是没有规律的那就麻烦点。楼上的回答只适合于有规律的数据
第2个回答  推荐于2018-02-28
--以下是我根据你的描述,做的测试,希望对你有帮助:

-- 新建一张表kongxianji:
CREATE TABLE kongxianji(a VARCHAR2(200));

-- 插入数据,然后提交:
INSERT INTO kongxianji (a) VALUES ('12345(6)789');
INSERT INTO kongxianji (a) VALUES ('12345(67)89');
INSERT INTO kongxianji (a) VALUES ('12345(678)9');
COMMIT;
SELECT * FROM kongxianji;

-- 把a中的括号去掉,然后提交,到这一步可以查看表中数据的变化情况:
UPDATE kongxianji SET a = replace(a,substr(a,instr(a,'('),(instr(a,')')-instr(a,'(')+1)),'');
COMMIT;

SELECT * FROM kongxianji;本回答被提问者和网友采纳
第3个回答  2010-12-03
oralce 9i 10g测试通过
SQL> select * from test2;

STR1
--------------------------------------------------------------------------------
abc(asdlfjl;;asx)qpweruas;dfs
xxxx(jl;;asx)qxxppruas;dfs

update test2 t1 set t1.str1=(select substr(str1,1,instr(str1,'(' )-1)||substr(str1,instr(str1,')')+1) str2 from test2 t2 where t1.rowid=t2.rowid)
/

SQL> select * from test2;

STR1
--------------------------------------------------------------------------------
abcqpweruas;dfs
xxxxqxxppruas;dfs

如何批量修改oracle数据库中的某一个字段?
substr(a,instr(a,'('),(instr(a,')')-instr(a,

如何批量修改oracle数据库中某一个表中的某一列数据?
1、构建临时表进行主键关联更新 需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以...

oracle如何批量修改字段值?
1、使用以下代码即可同时更新一个表中几个字段的值:updateASET(C1,C2,C3,C4)=(SELECTC1,C2,C3,C4FROMBWHEREID=A.ID)Oracle数据库最新版本为OracleDatabase12c。2、update表名set(字段1,字段2,字段3,...)=(select数值1,数值2,数值3,...)where条件多个字段可以使用逗号隔开,每一个...

oracle有没有方法把数据库表中的字段的所有数据中的某个字母或数字修改...
update 表 set big=replace(big,'_b.png','_l.png')where 条件 这样?

批量修改oracle数据库中的某一个字段的值,在该字段的最前面加一个字符...
update table_name SET ID='G'||substr(ID,0);OK!

oracle数据库如何用update批量更新某列数据中的字段
跟Sql Server类似。可以使用编程,或者使用PL\/SQL连接Oracle数据库,登陆连接后,使用以下Sql:update table set id='TT'where a='XX';以上语句,就是将表table中列a='XX'的所有id列改为“TT”。条件可以添加多个,更新的字段也可以添加多个,比如:update table set id1='TT',id2='CC'where a...

请教一个关于oracle数据库某个字段批量update的问题!
按你的要求,下面的语句可以解决,没有必要用循环语句。update 表 set 列=9+列-trunc(列,0)where 列>10;update 表 set 列=1+列-trunc(列,0)where 列<1;

怎么实现oracle数据库某个表中某一列中日期的批量修改,而不修改时间...
需要用update语句。如test表中有如下数据:要将begintime改成当前日期时间,可用如下语句:12 update test set begintime=sysdate;commit;更新后结果:

oracle数据库中 如何批量修改 varchar2(n byte) 为 varchar2(n char...
VARCHAR2(n);' --n为修改的值 from all_tab_columns a where a.DATA_TYPE='VARCHAR2' --指定字段类型 and a.TABLE_NAME=upper('tableA') --指定待修改的表名 and a.OWNER=upper('user_01'); --指定待修改表所属的用户 2. 新开一个窗口,执行上述查询结果即可。

ORACLE数据库用PLSQL如何批量更新表里的某个字段的内容为文字加上另外...
可以用以下SQL试试,如果有一对多的情况在b.name=a.name后面加个 and rownum=1:upddate table_a a set a.lname =(select '前缀字符串'||b.lname from table_b b where b.id=a.id and b.name=a.name)

相似回答