TRUNC 函数
功能描述
TRUNC 函数用于根据指定的 fmt 格式截断日期表达式 expr,返回一个新的日期。
参数说明
- expr (date): 需要进行截断操作的日期表达式。
- fmt (string): 用于指定截断精度的字符串,大小写不敏感。有效取值如下:
- 'YEAR', 'YYYY', 'YY': 截断到 expr 所在年份的第一天(1月1日)。
- 'QUARTER': 截断到 expr 所在季度的第一天。
- 'MONTH', 'MM', 'MON': 截断到 expr 所在月份的第一天。
- 'WEEK': 截断到 expr 所在星期的星期一。
返回结果
返回一个日期类型的值,表示按照指定 fmt 截断后的日期。
使用示例
-- 将日期截断到所在年份的第一天
SELECT trunc('2022-02-03', 'YEAR'); -- 结果为 2022-01-01
-- 将日期截断到所在季度的第一天
SELECT trunc('2022-02-03', 'QUARTER'); -- 结果为 2022-01-01
-- 将日期截断到所在月份的第一天
SELECT trunc('2022-02-03', 'MONTH'); -- 结果为 2022-02-01
-- 将日期截断到所在星期的星期一
SELECT trunc('2022-02-03', 'WEEK'); -- 结果为 2022-01-31
-- 将日期截断到所在季度的第一天,并返回字符串格式的结果
SELECT trunc('2022-02-03', 'QUARTER') AS quarter_start; -- 结果为 "2022-01-01"
-- 将日期截断到所在月份的第一天,并转换为时间格式
SELECT trunc('2022-02-03', 'MONTH') AS month_start_time; -- 结果为 "2022-02-01 00:00:00"
注意事项
- 当 expr 不是有效的日期表达式时,TRUNC 函数将返回 NULL。
- 当 fmt 参数取值不正确时,TRUNC 函数将返回错误。请确保使用有效的 fmt 取值。