Oracle 你真的会用ltrim/rtrim函数吗?

常见的用法是去除空格,有多少人不知道它们其实还可以做到去除空格,它有ltrim()、ltrim(x,y)方法

-------  去两边空格,去左空格,去右空格    --------
select trim('    X-rapido    ') name from dual;  返回 'X-rapido'
select ltrim('    X-rapido    ') name from dual;  返回 'X-rapido    '
select rtrim('    X-rapido    ') name from dual;  返回 ''    X-rapido''
select trim(null) name from dual;  返回null

ltrim(x,y)语法

ltrim(x,y) 函数是按照y中的字符一个一个截掉x中的字符,并且是从左边开始执行的,只要遇到y中有的字符, x中的字符都会被截掉, 直到在x的字符中遇到y中没有的字符为止函数命令才结束

select ltrim('abcdabababe','ab') word from dual;

结果:cdabababe

select ltrim('aaaaaa','a') word from dual;

结果:null空

select ltrim('109224323','109') nums from dual;

结果:224323

select ltrim('10900094323','109') nums from dual;

结果:4323

select ltrim('10900111000991110224323','109') nums from dual;

结果:224323

select ltrim('109200111000991110224323','109') nums from dual;

结果:200111000991110224323

select ltrim('902100111000991110224323','109') nums from dual;

结果:2100111000991110224323

注意:Oracle区分大小写

select ltrim('abcdab','B') word from dual;

结果:abcdab

至于rtrim函数,与ltrim同理,一个从左边开始,一个从右边开始

截取字符串的功能不同于substr函数,因为一个是指定字符,一个是指定下标

相关推荐