TRUNC

简介

TRUNC 函数是 Oracle 数据库中的一个日期/时间函数,主要用于截断(取整)日期或时间。以下是 TRUNC 函数的一些常见用法和作用:

截取时间

返回当前日期的开始时间

select TRUNC(SYSDATE) from dual; -- 返回当前日期的开始时间(时间戳的时间部分将被截断)

image-20240108113018353

返回当前月份的第一天

select TRUNC(SYSDATE, 'MM') from dual;-- 返回当前月份的第一天

image-20240108113110865

返回当前年份的第一天

select TRUNC(SYSDATE, 'YEAR') from dual;-- 返回当前年份的第一天

image-20240108113127748

返回当前星期的第一天

select TRUNC(SYSDATE, 'DAY') from dual;-- 返回当前星期的第一天

image-20240108113142516

其他时间

1.select trunc(sysdate) from dual --2024-01-06 -- 今天的日期为2024-01-06
2.select trunc(sysdate, 'mm') from dual --2024-01-01 -- 返回当月第一天.
3.select trunc(sysdate,'yy') from dual --2024-01-01 -- 返回当年第一天
4.select trunc(sysdate,'dd') from dual --2024-01-06 -- 返回当前年月日
5.select trunc(sysdate,'yyyy') from dual --2024-01-01 -- 返回当年第一天
6.select trunc(sysdate,'d') from dual --2024-01-06 -- (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual --2024-01-06 17:00:00 -- 当前时间为17:35
8.select trunc(sysdate, 'mi') from dual --2024-01-06 17:35:00 -- TRUNC()函数没有秒的精确

截取数字

介绍

TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入

实例

9.select trunc(123.458) from dual -- 123
10.select trunc(123.458,0) from dual -- 123
11.select trunc(123.458,1) from dual -- 123.4
12.select trunc(123.458,-1) from dual -- 120
13.select trunc(123.458,-4) from dual -- 0
14.select trunc(123.458,4) from dual -- 123.458
15.select trunc(123) from dual -- 123
16.select trunc(123,1) from dual -- 123
17.select trunc(123,-1) from dual -- 120