好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

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删除字段中的空格、回车及指定字符的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.cnblogs.com/lc1217/archive/2017/03/07/6514297.html

查看更多关于Oracle删除字段中的空格、回车及指定字符的实例代码的详细内容...

  阅读:31次