用Oracle的TRIM函数去除字符串首尾指定字符
的有关信息介绍如下:经常遇到需要去除字符串首尾空格或者其他字符的情况。比如去除字符串’abc ’首尾的首尾空格;比如去除’;a;b;c;’首尾的分号。
去掉首尾空格
SELECTTRIM(' abc '), ltrim(' abc '), rtrim(' abc ')FROMdual;
去掉首尾的其他字符
SELECT/*TRIM(';a;b;c;'),*/ltrim(';a;b;c;',';'),rtrim(';a;b;c;',';')
FROM dual;
注意:无法使用TRIM(‘;a;b;c;’, ‘;’)的格式
但是TRIM()却有它自己的格式
SELECTTRIM(';'FROM ';a;b;c;'),
TRIM(leading';'FROM';a;b;c;'),
TRIM(trailing ';' FROM';a;b;c;'),
TRIM(both ';' FROM';a;b;c;')
FROMdual;
去掉首尾多个字符
对于去除首尾多个字符的时候,需要特别注意的是,Oracle数据库会从字符串中扫描,移除掉去除集合中出现的每一个字符,直到遇到第一个不在去除集合中的字符为止,而不是去去掉去除集合中的字符串。
SELECTLTRIM('thetomsbthhe','the'),
RTRIM('thetomsbthhe','the')
FROM dual;
注意:TRIM(leading 'the' FROM 'thetomsbthhe')是不行的,此函数的截取集仅能包含一个字符。