fashflying

oracle中trim,ltrim,rtrim函数用法
该函数共有两种作用:
第一种,即大家都比较熟悉的去除空格。
例子:
--TRIM去除指定字符的前后空格
SQL> SELECT TRIM(\' dd df \') FROM dual;
TRIM(\'DDDF\')
------------
dd df

--LTRIM去除指定字符的前面空格
SQL> SELECT LTRIM(\' dd df \') FROM dual;
LTRIM(\'DDDF\')
-------------
dd df

--RTRIM去除指定字符后面后空格 
SQL> SELECT RTRIM(\' dd df \') FROM dual;
RTRIM(\'DDDF\')
-------------
 dd df

第二种,去除指定的字符。trim只能去除单个字符,而ltrim和rtrim可以去除多个字符。
trim去除字符的写法:
--表示字符串string2去除前面|后面|前后面(leading|trailing|both)的字符string1,默认去除方式为both
SELECT TRIM(leading|trailing|both string1 FROM string2) FROM dual;
例子:
SQL> SELECT trim(leading \'d\' from \'dfssa\') FROM dual; 
TRIM(LEADING\'D\'FROM\'DFSSA\')
---------------------------
fssa

SQL> SELECT trim(both \'1\' from \'123sfd111\') FROM dual; 
TRIM(BOTH\'1\'FROM\'123SFD111\')
----------------------------
23sfd

SQL> SELECT trim(trailing \'2\' from \'213dsq12\') FROM dual;
TRIM(TRAILING\'2\'FROM\'213DSQ12\'
------------------------------
213dsq1

注:trim去除字符只能是单个字符,如下,要去除的字符若为字符集则报错
SQL> SELECT trim(trailing \'12\' from \'123dsq12\') FROM dual;
SELECT trim(trailing \'12\' from \'123dsq12\') FROM dual
ORA-30001: 截取集仅能有一个字符

ltrim和rtrim去除字符的写法:
--表示字符串string1去除前面与string2字符集匹配的,若无匹配则结束返回
SELECT ltrim(string1,string2) FROM dual;
--rtrim与ltrim类似,只是去除的是右边算起匹配的字符
SELECT rtrim(string1,string2) FROM dual;
例子:
--如下,由于从右边算起,第一个字母是b没有与\'main\'匹配的字符,因此返回结果仍是\'aaaaminb\'
SQL> SELECT rtrim(\'aaaaminb\',\'main\') FROM dual;
RTRIM(\'AAAAMINB\',\'MAIN\')
------------------------
aaaaminb

--如下返回结果为空
SQL> SELECT rtrim(\'aaaaminb\',\'mainb\') FROM dual; 
RTRIM(\'AAAAMINB\',\'MAINB\')
-------------------------

SQL> SELECT ltrim(\'ccbcminb\',\'cb\') FROM dual;
LTRIM(\'CCBCMINB\',\'CB\')
----------------------
minb

分类:

技术点:

相关文章:

  • 2021-10-03
  • 2021-08-06
  • 2021-11-20
  • 2021-04-25
  • 2021-12-12
  • 2021-11-13
  • 2021-08-01
  • 2021-10-18
猜你喜欢
  • 2018-05-05
  • 2021-08-06
  • 2021-08-06
  • 2021-08-05
  • 2021-11-13
  • 2022-01-07
  • 2021-09-17
相关资源
相似解决方案