createorreplaceprocedurePROC_testis
--Description:删除字段中的指定字符(回车chr(13)、换行chr(10))
--ByLiChao
--Date:-03-01
colnamevarchar(20);--列名
cntnumber;--包含换行符的列的行数
v_sqlvarchar(2000);--动态SQL变量begin
--读取表中的列
forcolin(selectcolumn_namefromuser_tab_columnswheretable_name='TEMP')loop
colname:=col.column_name;--替换换行符chr(10)
v_sql:='selectcount(1)fromtempwhereinstr('||colname||
',chr(10))>0';EXECUTEIMMEDIATEV_SQLintocnt;ifcnt>0then
v_sql:='updatetempset'||colname||'=trim(replace('||colname||
',chr(10),''''))'||'whereinstr('||colname||
',chr(10))>0';EXECUTEIMMEDIATEV_SQL;commit;endif;--替换回车符chr(13)
v_sql:='selectcount(1)fromtempwhereinstr('||colname||
',chr(13))>0';EXECUTEIMMEDIATEV_SQLintocnt;ifcnt>0then
v_sql:='updatetempset'||colname||'=trim(replace('||colname||
',chr(13),''''))'||'whereinstr('||colname||
',chr(13))>0';EXECUTEIMMEDIATEV_SQL;commit;
endif;--替换'|'chr(124)为'*'chr(42)
v_sql:='selectcount(1)fromtempwhereinstr('||colname||
',chr(124))>0';EXECUTEIMMEDIATEV_SQLintocnt;ifcnt>0then
v_sql:='updatetempset'||colname||'=replace('||colname||
',chr(124),chr(42))'||'whereinstr('||colname||
',chr(124))>0';EXECUTEIMMEDIATEV_SQL;commit;
endif;endloop;endPROC_test;/
如果觉得《oracle去除空字符 oracle删除字段中的空格 回车及指定字符》对你有帮助,请点赞、收藏,并留下你的观点哦!