TRUNC
📄字数 656
👁️阅读量 加载中...
功能描述
将时间戳截断到指定的时间单位。
也可用作数值截断,详细信息请参考 TRUNC() 函数。
语法格式
sql
TRUNC(source[, format])参数说明
source:时间戳,DATE、DATETIME、DATETIME WITH TIME ZONE、TIME或TIME WITH TIME ZONE类型。format:截取格式,表示对输入值选用什么样的精度进行截断,大小写不敏感;如果省略,则使用默认格式“D”,返回的值将日期截断至天,时间为午夜,即00:00:00。
format参数取值
| format | 取值说明 |
|---|---|
| 截断到年份 | |
| 截断到月份 | |
| 截断到日 | |
| 截断到小时 | |
| 截断到分钟 | |
| 截断到秒 |
输出结果
输出结果类型与第一个输入参数类型一致,任意输入参数为 NULL 时,输出结果为 NULL。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
sql
-- 将时间戳按照指定的格式 'yyyy'、'mm'和'dd'进行截断
SQL> SELECT TRUNC('2022-02-22 22:22:22', 'yyyy'), TRUNC('2022-02-22 22:22:22', 'mm'), TRUNC('2022-02-22 22:22:22', 'dd') FROM dual;
+--------------------------+--------------------------+--------------------------+
| EXPR1 | EXPR2 | EXPR3 |
+--------------------------+--------------------------+--------------------------+
| 2022-01-01 00:00:00.000 | 2022-02-01 00:00:00.000 | 2022-02-22 00:00:00.000 |
+--------------------------+--------------------------+--------------------------+