Oracle删除字段中的空格、回车及指定字符的实例代码

 更新时间:2017年03月07日 14:41:08   作者:lc19861217  
本文给大家分享Oracle删除字段中的空格、回车及指定字符的实例代码,非常不错,具有参考借鉴价值,需要的的朋友参考下

废话不多说了,直接给大家贴代码了,具体代码如下所示:

create or replace procedure PROC_test is
 --Description:删除字段中的指定字符(回车chr(13)、换行chr(10))
 --By LiChao
 --Date:2016-03-01
 colname varchar(20); --列名
 cnt   number; --包含换行符的列的行数
 v_sql  varchar(2000); --动态SQL变量
begin
 --读取表中的列
 for col in (select column_name
        from user_tab_columns
        where table_name = 'TEMP') loop
  colname := col.column_name;
  --替换换行符chr(10)
  v_sql := 'select count(1) from temp where instr(' || colname ||
       ',chr(10))>0 ';
  EXECUTE IMMEDIATE V_SQL
   into cnt;
  if cnt > 0 then
   v_sql := 'update temp set ' || colname || '=trim(replace(' || colname ||
        ',chr(10),''''))' || 'where instr(' || colname ||
        ',chr(10))>0 ';
   EXECUTE IMMEDIATE V_SQL;
   commit;
  end if;
  --替换回车符chr(13)
  v_sql := 'select count(1) from temp where instr(' || colname ||
       ',chr(13))>0 ';
  EXECUTE IMMEDIATE V_SQL
   into cnt;
  if cnt > 0 then
   v_sql := 'update temp set ' || colname || '=trim(replace(' || colname ||
        ',chr(13),''''))' || 'where instr(' || colname ||
        ',chr(13))>0 ';
   EXECUTE IMMEDIATE V_SQL;
   commit;
  end if;
  --替换'|' chr(124) 为'*' chr(42)
  v_sql := 'select count(1) from temp where instr(' || colname ||
       ',chr(124))>0 ';
  EXECUTE IMMEDIATE V_SQL
   into cnt;
  if cnt > 0 then
   v_sql := 'update temp set ' || colname || '=replace(' || colname ||
        ',chr(124),chr(42))' || 'where instr(' || colname ||
        ',chr(124))>0 ';
   EXECUTE IMMEDIATE V_SQL;
   commit;
  end if;
 end loop;
end PROC_test;
/

以上所述是小编给大家介绍的Oracle删除字段中的空格、回车及指定字符的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 全新感受Oracle 9i

    全新感受Oracle 9i

    全新感受Oracle 9i...
    2007-03-03
  • oracle中字符串连接符||使用

    oracle中字符串连接符||使用

    这篇文章主要介绍了oracle中字符串连接符||使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Oracle中备份表的简单sql命令语句

    Oracle中备份表的简单sql命令语句

    备份表的简单sql命令想必有黑多的新手朋友们还是会忘记的即便是老手也不例外吧,下面与大家分享下具体的sql语句,希望对你有所帮助
    2013-05-05
  • Oracle 12CR2查询转换教程之表扩展详解

    Oracle 12CR2查询转换教程之表扩展详解

    Oracle 12cR2版本已经发布有一段时间,下面这篇文章主要给大家介绍了关于Oracle 12CR2查询转换教程之表扩展的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-11-11
  • oracle数据库实现按多个字段排序

    oracle数据库实现按多个字段排序

    这篇文章主要介绍了oracle数据库实现按多个字段排序方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Navicat设置Oracle数据库主键自增的方法步骤

    Navicat设置Oracle数据库主键自增的方法步骤

    今天工作的时候,用到了oracle数据库建表,发现navicat中对于oracle的支持没有那个主键自增的按钮,下面这篇文章主要给大家介绍了关于Navicat设置Oracle数据库主键自增的方法步骤,需要的朋友可以参考下
    2023-03-03
  • PL/SQL Developer连接64位的Oracle图文教程

    PL/SQL Developer连接64位的Oracle图文教程

    这篇文章主要为大家详细介绍了PL/SQL Developer连接64位的Oracle图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Oracle 创建监控账户 提高工作效率

    Oracle 创建监控账户 提高工作效率

    有很多Oracle服务器,需要天天查看TableSpace,比较麻烦了。
    2009-10-10
  • Oracle数据库由dataguard备库引起的log file sync等待问题

    Oracle数据库由dataguard备库引起的log file sync等待问题

    这篇文章主要介绍了Oracle数据库由dataguard备库引起的log file sync等待,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Oracle中的游标和函数详解

    Oracle中的游标和函数详解

    这篇文章主要介绍了 Oracle中的游标和函数详解的相关资料,需要的朋友可以参考下
    2017-05-05

最新评论