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删除字段中的空格、回车及指定字符的更多相关文章

  1. oracle 删除字段中空格

    update  sales_report set region =  REGEXP_REPLACE(region,  '( ){1,}', '')

  2. ORACLE查询字段中含有空格的数据

    SELECT * FROM T_NAME WHERE REGEXP_LIKE(COLNAME, '( )+'); SELECT * FROM T_NAME WHERE length(COLNAME) ...

  3. set unused的用法(ORACLE删除字段)

    set unused的用法(ORACLE删除字段) 一.问题 现场有一张大数据量的分区表,数据量在10G以上.因某种原因需要删除其中的某些字段.如果直接用alter table1 drop (colu ...

  4. 去掉MySQL字段中的空格

    mysql replace 函数   语法:replace(object,search,replace)   意思:把object中出现search的全部替换为replace   案例: SQL Co ...

  5. java 去html标签,去除字符串中的空格,回车,换行符,制表符

    public static String getonerow(String allLine,String myfind)     {                           Pattern ...

  6. SQLServer如何删除字段中的某个字符串,或者替换为空格?

    sql="update Table set 字段=REPLACE ( 字段,'123' , ' ') where XXX条件"把字段中123替换为空格

  7. oracle截取字段中的部分字符串

    使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,de ...

  8. Oracle删除表中的重复数据

    Oracle数据库删除表中的重复数据,只保留其中的一条,以两个字段为例,提供两种方法 ①.直接delete重复的数据 delete from table_name t1 where (t1.col1, ...

  9. JS中删除字符串中的空格

    问题描述:         在进行字符串操作时,由于字符串中存在较多的空格,因此需要考虑取消字符串中的空格 问题解决:       (1)删除字符串中的前导空格(字符串的前面的空格): 注意:这里使用 ...

随机推荐

  1. JavaScript处理json格式数据

    JSON即JavaScript对象标记,是一种轻量级的数据交换格式,非常适用于服务器与JavaScript的交互.JSON是基于纯文本的数据格式. JSON是JavaScript的原生格式,可以使用J ...

  2. 读书笔记 effective c++ Item 11 在operator=中处理自我赋值

    1.自我赋值是如何发生的 当一个对象委派给自己的时候,自我赋值就会发生: class Widget { ... }; Widget w; ... w = w; // assignment to sel ...

  3. Spring BeanFactory实例化Bean的详细过程

    Spring中Bean的实例化是Bean生命周期的一个重要环节,通常Bean初始化后将不再改变. 那么Spring实例Bean的过程到底是怎么样的呢?!   要想获取到一个bean对象,得先通过Bea ...

  4. typedef struct 是什么意思

    typedef用于定义一种新类型例如定义了如下的结构typedef struct student{int age;int score;}STUDENT;那么则有STUDENT stu1;就相当于str ...

  5. API练习_图形

    #include<windows.h> LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINS ...

  6. 使用Jmeter3.1进行接口测试(包含需登录后测试的接口)

    Jmeter版本为3.1,以下只针对此版本进行测试说明: 1.打开Jmeter3.1: 启动命令路径:apache-jmeter-3.1\bin\jmeter.bat 2.测试步骤: 1.测试计划-- ...

  7. HNOI2015 Day 1

    HNOI2015的题还是非常漂亮的,几道题都有很大的借鉴意义,都有很强的思考性 T1亚瑟王(概率论) 描述:http://www.lydsy.com/JudgeOnline/problem.php?i ...

  8. 【WCF】服务并发中的“可重入模式”

    WCF服务实例的并发模式是在服务实现类上,使用 ServiceBehaviorAttribute 的 ConcurrencyMode 属性来指定.其值由 ConcurrencyMode 枚举来界定,这 ...

  9. map与hash_map使用与对比

    #include <iostream> #include <functional> #include <map> #include <ext/hash_map ...

  10. CLOSE_WAIT TIME_WAIT

    TCP状态转移要点    TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放.网络服务器程序要同时 ...