
# rtrim
rtrim函数用于从str的右端去除字符：
- 如果未指定trimChars，则默认去除空格字符。
- 如果指定了trimChars，则以trimChars中包含的字符作为一个集合，从str的右端去除尽可能长的所有字符都在集合trimChars中的子串。
相似函数：
- [ltrim](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_ltrim.html)，ltrim函数用于从str的左端去除字符。
- [trim](https://support.huaweicloud.com/sqlref-spark-dli/dli_spark_trim.html)，trim函数用于从str的左右两端去除字符。
#### 命令格式
```
rtrim([<trimChars>, ]string <str>)
```
或
```
rtrim(trailing [<trimChars>] from <str>)
```
#### 参数说明
表1参数说明 
| 参数        | 是否必选 | 参数类型   | 说明                                                                      |
|:---|:---|:---|:---|
| str       | 是    | STRING | 待去除右端字符的字符串。如果输入为BIGINT、DECIMAL、DOUBLE或DATETIME类型，则会隐式转换为STRING类型后参与运算。 |
| trimChars | 是    | STRING | 待去除的字符。                                                                 |
   
#### 返回值说明
返回为STRING类型的值。
![](https://support.huaweicloud.com/sqlref-spark-dli/public_sys-resources/note_3.0-zh-cn.png)
- str非STRING、BIGINT、DOUBLE、DECIMAL或DATETIME类型时，返回报错。
- str或trimChars值为NULL时，返回NULL。
 
#### 示例代码
- 去除字符串 yxabcxx 的右边空格。命令示例如下。 返回字符串 yxabcxx。
  ```
  select rtrim('yxabcxx     ');
  ```
  等效于如下语句。
  ```
  select trim(trailing from ' yxabcxx ');
  ```
  
- 去除字符串yxabcxx右端所有字符都在集合xy中的子串。 返回yxabc，只要右端遇到x或者y就会被去掉。
  ```
  select rtrim('xy', 'yxabcxx');
  ```
  等效于如下语句。
  ```
  select trim(trailing 'xy' from 'yxabcxx');
  ```
  
- 输入参数为NULL。命令示例如下。 返回NULL。
  ```
  select rtrim(null); 
  select ltrim('yxabcxx', 'null');
  ```
  
 
