oracle中,如何批量替换某字段的部分值,该字段其他部分保持不变?
1、创建测试表;
create table test_str_replace(id varchar2(20),value varchar2(20));
2、插入测试数据;
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'替换成'123',其他保持不变;
select t.*, regexp_replace(value,'abc','123') cnt from test_str_replace t ;
oracle数据库字段内容如何批量替换?
直接用update语句替换即可。
如test表中有如下数据:
现要将sal中的数字都替换成10,用以下语句:
update test set sal=10;
commit;
更新后结果:
注意:执行update语句后,需要进行commit,也就是提交,这样才会使update生效。
oracle中怎么更改表中字段名
首先方法是使用RENAME关键字:
修改字段名:alter table 表名 rename column 现列名 to 新列名;
修改表名:alter table 表名 rename to 新表名
增加字段语法:alter table tablename add (column datatype [default value][null/not null],….);
说明:alter table 表名 add (字段名 字段类型 默认值 是否为空);
例:alter table sf_users add (HeadPIC blob);
例:alter table sf_users add (userName varchar2(30) default '空' not null);
修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);
说明:alter table 表名 modify (字段名 字段类型 默认值 是否为空);
例:alter table sf_InvoiceApply modify (BILLCODE number(4));
删除字段的语法:alter table tablename drop (column);
说明:alter table 表名 drop column 字段名;
例:alter table sf_users drop column HeadPIC;
字段的重命名:
说明:alter table 表名 rename column 列名 to 新列名 (其中:column是关键字)
例:alter table sf_InvoiceApply rename column PIC to NEWPIC;
表的重命名:
说明:alter table 表名 rename to 新表名
例:alter table sf_InvoiceApply rename to sf_New_InvoiceApply;