oracle怎么删除字符 oracle删除字符串

Oracle删除字段中的空格、回车及指定字符的实例代码废话不多说oracle怎么删除字符了oracle怎么删除字符 , 直接给大家贴代码了,具体代码如下所示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
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
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
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表中删除某一字符串后面的所有字符SQL:UPDATEA_TableNamesetusername=substr(username ,0,instr(username ,'KG',-1) Whereusernamelike '%KG%';
实现思路:截取到特定的字符串(本sql以”KG“为例)之前的内容重新赋值给本列 。
解释:A_TableName 为表名,where后面的是筛选的条件 , instr是找到username中 从右边(-1为右边)找到第一个KG的位置(通过数字来表示),substr(username ,start,length)是截取username中从 0开始截取长度为length的字符串 。
如何删除ORACLE中的特殊符号用替换(Ctrl H),查找字为固定字符oracle怎么删除字符,替换为不输入任何值oracle怎么删除字符,点击全部替换 。
示例oracle怎么删除字符,把下表中oracle怎么删除字符的百度批量删除 。
Oracle如何使用将一个字符里的字母去掉?Oracle使用函数将一个字符里oracle怎么删除字符的字母去掉:
selectcase when regexp_like(字段名,'.([a-z] |[A-Z])') then '包含字母' else '不包含字母' end
from 表名字
正则表达式函数:regexp_like
关键的参数是第二个:'.([a-z] |[A-Z])'其中.表示匹配任何单字符oracle怎么删除字符,换行符除外
[a-z]是小写字母|或[A-Z]大写字母
oracle怎么去掉字符串的空格的数据首先便是这Trim函数 。Trim 函数具有删除任意指定字符的功能 , 而去除字符串首尾空格则是trim函数被使用频率最高的一种 。语法Trim ( string ) ,参数string:string类型 , 指定要删除首部和尾部空格的字符串返回值String 。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串("") 。如果参数值为null时,会抛出空指针异常 。在oracle中,trim使用的形式多为人rtrim()与ltrim()两种,分别为去除字符串右边空格与去除字符串左边空格 。
当然trim的功能不止如此,下面进行细致的介绍 , 这里我多以去除字符串空格为例 。
我们看下trim函数的语法描述:trim( [ {{leading|trailing|both}[trim_character]|trim_character}from] trim_source
1)、不使用任何参数
SQL select trim('11') aa from dual;
AA
--
11
这是最常见的一种使用方法,都使用默认的参数,默认情况下TRIM会同时删除字符串前后出现的空格 。
2)、使用both参数,效果等同于方法一不使用任何参数
SQL select trim(both from '11') aa from dual;
AA
--
11
逗BOTH地参数表示同时去除字符串前后所指定的内容(默认情况下删除空格) 。
3)、使用leading与trailing参数
SQL select trim(leading from '11') aa from dual;
AA
----
11
SQL select trim(trailing from '11') aa from dual;
AA
-----
11
从结果中得分隔符'-',可以发现使用leading参数可以去除字符串右端的空格,而trailing参数则可以去除字符串左端的空格 。正如oracle提供的rtrim()与ltrim() 。
4)、使用trim_character参数
trim_character参数改变了逗删除空格地的默认行为 。如果想要删除字符串'xxxxWORLDxxxx'前后出现的逗x地 , 逗trim_character地参数就派上用场了 。
SQL select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
-----
WORLD
trim_character配合逗both地、逗trailing地和逗leading地三个参数使用效果如下,与之前演示类似 。看结果 , 不赘述 。
SQL select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
-----
WORLD
SQL select trim(both 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
-----
WORLD
SQL select trim(trailing 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
---------
xxxxWORLD
SQL select trim(leading 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
---------
WORLDxxxx
必须注意的一点是这里的逗trim_character地参数只允许包含一个字符,不支持多字符 。trim不能满足我们去除多字符要求 , 但是我们可以使用rtrim和ltrim来处理 。
1)使用rtrim
SQL select rtrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
AAAAA
---------------
ORxxxxWORLDxxxx
2)使用ltrim
SQL select ltrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
AAAAA
---------------
xxxxWORLDxxxxOR
3)联合使用RTRIM和LTRIM函数达到我们的目的
SQL select rtrim(ltrim('ORxxxxWORLDxxxxOR','OR'),'OR') aaaaa from dual;
AAAAA
-------------
xxxxWORLDxxxx
使用rtrim和ltrim函数时的注意事项:逗OR地不表示整个逗OR地字符串进行匹配,而是发现任意的字符逗O地或字符逗R地均做删除操作 。
对于trim函数的应用就介绍到,下面介绍一下replace函数,个人觉得replace函数在去空格时更好用 。replace 函数用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式 。来看下replace函数的语法描述:replace('string_replace1','string_replace2','string_replace3')
'string_replace1' 待搜索的字符串表达式,string_replace1 可以是字符数据或二进制数据 。
'string_replace2' 待查找的字符串表达式 , string_replace2 可以是字符数据或二进制数据 。
'string_replace3' 替换用的字符串表达式 , string_replace3 可以是字符数据或二进制数据 。
返回类型,如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据;如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一 , 则返回二进制数据 。
这里我们依然以去空格为例 。
SQL select replace('aakk',' ','') abcd from dual;
ABCD
----
aakk
与使用trim函数的结果进行对比,我们可以发现,使用replace函数不仅可以去除字符串两端的空格,也可去除字符串内部的空格 。
当然 , 如果只是要去除字符串两端的空格,使用trim函数效率会更高 。
【oracle怎么删除字符 oracle删除字符串】关于oracle怎么删除字符和oracle删除字符串的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读