oracle 查询字段去空格,ORACLE 所有表的所有字段去空格方法
最近的项目是从informix库抽数据到oracle库,没想到抽过来的数据,几乎都有空格把varchar2类型的字段填满了,导致条件查询失败特写了个所有表去空格的方法,有需要的可以直接拿去用create or replace procedure trimtab is--所有表 去空格/*1、查询出所有表存放在一个集合里2、循环每个表,处理--获取表的字段名select A.COLUMN_NAME,
最近的项目是从informix库抽数据到oracle库,
没想到抽过来的数据,几乎都有空格把varchar2类型的字段填满了,导致条件查询失败
特写了个所有表去空格的方法,有需要的可以直接拿去用
create or replace procedure trimtab is
--所有表 去空格
/*1、查询出所有表存放在一个集合里
2、循环每个表,处理
--获取表的字段名
select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A
where TABLE_NAME=upper('action_forcheck')
*/
v_sql varchar2(2000);
v_table_name varchar2(30);
cursor tables is
select table_name from user_tables
where table_name not like 'JBPM4%';
TYPE FILED_LISTS IS REF CURSOR; --字段名集合
v_listf FILED_LISTS;
V_FILED varchar2(30);
begin
open tables;
loop
--提取一行数据到 tables
fetch tables
into v_table_name;
--判读是否提取到值,没取到值就退出
exit when tables%notfound;
OPEN v_listf FOR
select A.COLUMN_NAME from user_tab_columns A
where TABLE_NAME=upper(v_table_name);
LOOP
FETCH v_listf
INTO V_FILED;
EXIT WHEN v_listf%NOTFOUND;
v_sql := 'UPDATE '||v_table_name|| ' SET '|| V_FILED ||'=TRIM('||V_FILED||')' ;
execute immediate v_sql;
COMMIT;
END LOOP;
CLOSE v_listf;
end loop; --关闭游标
close tables;
end;
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)