ITPub博客

首页 > 数据库 > Oracle > [20260227]使用trim函数删除前后字符.txt

[20260227]使用trim函数删除前后字符.txt

原创 Oracle 作者:lfree 时间:2026-03-01 19:47:04 0 删除 编辑

[20260227]使用trim函数删除前后字符.txt

--//想使用trim函数删除前后字符,缺省仅仅删除空格,如果不是空格写法比较特殊,做1个记录。

1.环境:
SCOTT@book01p> @ ver2
==============================
PORT_STRING                   : x86_64/Linux 2.4.xx
VERSION                       : 21.0.0.0.0
BANNER                        : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
BANNER_FULL                   : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
BANNER_LEGACY                 : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
CON_ID                        : 0
PL/SQL procedure successfully completed.

2.测试:

SCOTT@book01p> select trim('  aaa,bbb ')||'z' c20 from dual ;
C20
--------------------
aaa,bbbz

--//删除前后空格很简单,直接使用trim函数。

--//如果要删除前后逗号,这样写报错。
SCOTT@book01p> select trim(',,,,aaa,bbb,,,',',')||'z' c20 from dual ;
select trim(',,,,aaa,bbb,,,',',')||'z' c20 from dual
                            *
ERROR at line 1:
ORA-00907: missing right parenthesis

--//要写出如下:
SCOTT@book01p> select trim(',' from  ',,,,aaa,bbb,,,')||'z' c20 from dual ;
C20
--------------------
aaa,bbbz

--//第1个参数仅仅接受1个字符。
SCOTT@book01p> select trim('ab' from  ',,,,aaa,bbb,,,')||'z' c20 from dual ;
select trim('ab' from  ',,,,aaa,bbb,,,')||'z' c20 from dual
       *
ERROR at line 1:
ORA-30001: trim set should have only one character

--//当然还有1个笨的方法使用ltrim+rtrim函数。

SCOTT@book01p> select rtrim(ltrim(',,,,aaa,bbb,,,',','),',')||'z' c20 from dual ;
C20
--------------------
aaa,bbbz


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3111330/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969436