
# lpad
locate函数用于返回指定长度的字符串，给定字符串str1长度小于指定长度length时，由指定字符str2从左侧填补。
#### 命令格式
```
lpad(string <str1>, int <length>, string <str2>)
```
#### 参数说明
表1参数说明 
| 参数     | 是否必选 | 参数类型   | 说明         |
|:---|:---|:---|:---|
| str1   | 是    | STRING | 待向左补位的字符串。 |
| length | 是    | STRING | 向左补位位数。    |
| str2   | 否    | STRING | 用于补位的字符串。  |
   
#### 返回值说明
返回STRING类型的值。
![](https://support.huaweicloud.com/sqlref-spark-dli/public_sys-resources/note_3.0-zh-cn.png)
- 如果length小于str1的位数，则返回str1从左开始截取length位的字符串。
- 如果length为0，则返回空串。
- 如果没有输入参数或任一输入参数值为NULL，返回NULL。
 
#### 示例代码
- 用字符串ZZ将字符串abcdefgh向左补足到10位。命令示例如下。 返回ZZabcdefgh。
  ```
  select lpad('abcdefgh', 10, 'ZZ');
  ```
  
- 用字符串ZZ将字符串abcdefgh向左补足到5位。命令示例如下。 返回abcde。
  ```
  select lpad('abcdefgh', 5, 'ZZ');
  ```
  
- length为0。命令示例如下。 返回空串。
  ```
  select lpad('abcdefgh', 0, 'ZZ');
  ```
  
- 任一输入参数为NULL。命令示例如下。 返回NULL。
  ```
  select lpad(null ,0, 'ZZ');
  ```
  
 
