问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-26 00:22

我来回答

2个回答

懂视网 时间:2022-05-02 02:57

        

技术分享

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

热心网友 时间:2022-05-02 00:05

废话不多说了,直接给大家贴代码了,具体代码如下所示:
create
or
replace
procere
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删除字段中的空格、回车及指定字符的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
体育运动员谁最有钱? 曲轴箱通风管漏气 有什么现象 曲轴箱强制通风管漏气? 曲轴箱(曲轴箱通风管坏了有什么影响) 100分求CS PING的问题 枇杷有什么作用与功效与作用 枇杷的功效和作用 三星手机大全5660三星手机大全所有型号图片 三星s5660能用动感地带152号段的卡上wlan吗? 我的三星S5660插移动卡就会显示只能进行紧急呼叫,用联通卡没问题,把卡... 在oracle里如何去掉数据后的回车换行符 Oracle中chr()函数 oracle如何去除字段的回车换行符 oracle plsql的存储过程中,类似' || chr(10) || ' 的语法意思 鞠躬尽瘁死而后已的意思 造句~可歌可泣 鲜为人知 鞠躬尽瘁 死而后已 当之无愧 造一个句子 谢谢 鞠躬尽瘁死而后已的同义词 与鞠躬尽瘁 死而后已相同的句式 不要意思!!! 诸葛亮说的鞠躬尽瘁,死而后已是什么意思? 鞠躬尽瘁,死而后已的意思? 鞠躬尽瘁 死而后已的意思和典故 写出和下列诗句意思相同的成语 和春蚕到死丝方尽,蜡炬成灰泪始干意思相近的成语 像正气凛然,视死如归,百折不挠,鞠躬尽瘁,死而后已,这样的成语是表现什么的成语。 谁知道有和鞠躬尽瘁意思相近的成语? 驴肉哪里的好吃,驴肉火烧是保定徐水的漕河最正宗吗 像鞠躬尽瘁,死而后已这样的词语,急!!! 与鞠躬尽瘁 死而后已相同的句式 不要意思! 鞠躬尽瘁,死而后已。相仿意思的一句话 出师未捷身先死,长使英雄泪满襟意思相仿的一句话 全国哪个地方吃驴肉最有名 oracle 为什么取有换行符的数据只能取第一行 关于ORACLE中SQL操作,请大家把下面语句的意思给我详细的解释下,谢谢... 关于oracle中换行符替换问题 oracle中出现了换行怎么办 请教:动态创建oracle序列,使用时提示序列不 ORACLE 用正则表达式匹配 回车换行 oracle的date连接符可以是制表符? oracle如何捕获存储过程报错是哪一行 oracle chr 是多少 Oracle使用sqlload的好处 Oracle中,如何删除一个用户下的所有表 身份证扫描件是pdf格式吗 身份证原件pdf格式是什么意思 胃部对应脚底那个穴位? 小狗的胃在哪个部位 胆囊炎疼痛位置图是在腹部吗 胆囊炎疼痛位置图是怎样的 和平精英:玩家一边开车还能一边跳舞? 和平精英边跳舞边开枪,别人看得到吗? 吃鸡里面有很多人在P城跳舞,如此“耍的帅死的帅”的操作,看得懂吗?