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;/

时间: 2024-12-11 23:18:10

oracle删除字段中的空格、回车及指定字符的相关文章

Sq语句来删除字段中的空格

update TableName set ColumnName=REPLACE(ColumnName,' ','')

Sql Server 2005 去掉字段中的空格

SELECT replace(ltrim(rtrim(Realname)),' ','') AS Realname FROM UserInfo WHERE replace(ltrim(rtrim(Realname)),' ','') ='张飞' Sql Server 2005 去掉字段中的空格,布布扣,bubuko.com

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

public static String getonerow(String allLine,String myfind)     {                           Pattern pattern = Pattern.compile("<div class=\"row\">.*?</div>");                      Matcher  matcher = pattern.matcher(allLine

去掉MySQL字段中的空格

mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 案例: SQL Code复制内容到剪贴板 update `news` set `content`=replace(`content`,' ','');//清除news表中content字段中的空格

去掉字段中所有的回车和换行

update Approver set StaffID=replace(replace(StaffID,char(10),''),char(13),'') 去掉字段中所有的回车和换行

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

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

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

使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,destString,start,appearPosition). instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') 其中sourceString代表源字符串: destString代表想聪源字符串中查找的子串: start代表查找的开始位置,该参数可选的,默认为1: ap

删除String中的空格

三种删除String中空格的方法.可用根据需要自由进行选择使用. 1.C风格 #include "stdafx.h" void RemoveStringSpaces(char* pStr); int _tmain(int argc, _TCHAR* argv[]) { return 0; } void RemoveStringSpaces(char* pStr) { int i = 0; // 'Copy to' index to string int j = 0; // 'Copy

将一个字符串中的空格替换为指定的内容——4

实现一个函数,将一个字符串中的所有空格替换为"%20",例如输入字符串"How beautiful you are!",输出结果应为"How%20beautiful%20you%20are!". 首先,如果另开辟一块空间并且足够将全部空格都替换成"%20",然后一个单词一个单词的拷贝过去,当遇到空格时就放进去"%20",这种低效率的方法肯定是可行的,但很显然不仅效率不高还浪费存储空间,因此,要节省空间就要在