Oracle 去除字符–TRIM、LTRIM、RTRIM
1. TRIM
功能:去除指定位置的指定字符。
TRIM([LEADING|TRAILING|BOTH [STRING1] FROM] STRING2)
-
TRIM(STRING2)
去除字符串
STRING2
前后的空格。SELECT TRIM(' 左右两边空格 ') AS AA FROM DUAL;
-
TRIM([LEADING|TRAILING|BOTH STRING1 FROM] STRING2)
去除字符串
STRING2
去除前面|后面|前后面(LEADING
|TRAILING
|BOTH
)的字符STRING1
。注意:STRING1 为一个字符,可以省略(省略则默认为去除空格)
-
LEADING
:去除STRING2
前面(左边)的字符STRING1
。SELECT TRIM(LEADING 'a' FROM 'aaasssdddsssaaa') AA FROM DUAL;
-
TRAILING
:去除STRING2
后面(右边)的字符STRING1
。 -
BOTH
:去除STRING2
前后两边的字符STRING1
。 -
当不输入
STRING1
时,则去掉的是空格(非其它字符,例如\t、\n
等)
-
2. LTRIM
功能:去除数据左边的指定字符。
注意:
1. 可以输入一个字符串,会去除字符串中包含的所有字符,直到遇到一个不是不包含的字符。
2. 输入字符串中如果又重复的字符,会按一个进行计算。
3.指定的字符串中的字符顺序没有意义,去除字符时只会判断字符在不在指定的字符串中。
LTRIM(STRING2,[STRING1])
-
当不输入
STRING1
时,去除STRING2
左边的空格。SELECT LTRIM(' 左边空格 ') AS AA FROM DUAL;
-
输入
STRING1
时,从STRING2
左边第一个字符开始去除STRING1
字符,直到字符不为STRING1
,如果第一位字符就不为STRING1
,则直接返回STRING2
。SELECT LTRIM('aaasssdddsssaaa','as') AA FROM DUAL;
-
注意:如果STRING1 和 SHRING2 弄反了,且 STRING1 中所有字符都出现在 SHRING2 中,则会没有值
SELECT LTRIM('as','aaasssdddsssaaa') AA FROM DUAL;
3.RTRIM
功能:去除数据右边的指定字符。
注意:
1. 可以输入一个字符串,会去除字符串中包含的所有字符,直到遇到一个不是不包含的字符。
2. 输入字符串中如果又重复的字符,会按一个进行计算。
3.指定的字符串中的字符顺序没有意义,去除字符时只会判断字符在不在指定的字符串中。
RTRIM(STRING2,[STRING1])
-
当不输入
STRING1
时,去除STRING2
左边的空格。SELECT RTRIM(' 右边空格 ') AS AA FROM DUAL;
-
输入
STRING1
时,从STRING2
左边第一个字符开始去除STRING1
字符,直到字符不为STRING1
,如果第一位字符就不为STRING1
,则直接返回STRING2
。SELECT RTRIM('aaasssdddsssaaa','as') AA FROM DUAL;