oracle游标批量去除表中tab

oracle中去除空格一般用rtim、ltrim,但是不能用这两个去除tab,这时可以

update BAS_Forwarding set SOURCEONCE=replace(SOURCEONCE,chr(09),'') where warehouseid like '111%';

chr(09)是tab的ascii码

csv文件导入oracle后,存在大量的tab,这时可以用游标批量去除tab:

declare
v_colunm_name varchar2(30);
cursor c1 is SELECT column_name FROM user_tab_columns where table_name = upper('BAS_Forwarding');
begin
open c1;
  loop --提取一行数据到c1
    fetch c1 into v_colunm_name;
    --判读是否提取到值,没取到值就退出
    --取到值c_job%notfound 是false
    --取不到值c_job%notfound 是true
    exit when c1%notfound;
    update BAS_Forwarding set SOURCEONCE=replace(SOURCEONCE,chr(09),'') where warehouseid like '111%';
  end loop;--关闭游标
  commit;
exception 
  when others then
    dbms_output.put_line('出错'||sqlerrm);
    rollback;
close c1;
end;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值