
# trunc
trunc函数用于将date按照特定的格式进行清零操作。
清零操作即返回默认值，年、月、日的默认值为01，时、分、秒、毫秒 的默认值为00。
#### 命令格式
```
trunc(string date, string format)
```
#### 参数说明
表1参数说明 
| 参数     | 是否必选 | 参数类型        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| date   | 是    | DATE或STRING | 需要处理的日期。 格式： - yyyy-mm-dd  - yyyy-mm-dd hh:mi:ss  - yyyy-mm-dd hh:mi:ss.ff3   |
| format | 是    | STRING      | 代表需要转换的目标日期格式。 format:格式为代表年月日时分秒的时间单位与任意字符的组合，其中： - yyyy代表年份。  - MM代表月份。                                                                      |
   
#### 返回值说明
返回DATE类型的日期值，格式为yyyy-mm-dd。
![](https://support.huaweicloud.com/sqlref-spark-dli/public_sys-resources/note_3.0-zh-cn.png)
- date非DATE或STRING类型时，返回报错，错误信息：data type mismatch。
- date为DATE或STRING类型，但不符合日期值的入参格式时，返回NULL。
- date值为NULL时，返回NULL。
- format值为NULL时，返回NULL。
 
#### 示例代码
返回2023-08-01。
```
select trunc('2023-08-16', 'MM');
```
返回2023-08-01。
```
select trunc('2023-08-16 10:54:36', 'MM');
```
返回NULL。
```
select trunc(null, 'MM');
```
