Oracle中trunc()函数的基本使用

在Oracle数据库中,TRUNC()函数用于截断日期或数值的部分。它可以对日期进行截断到指定的精度级别,并返回截断后的结果。

TRUNC()函数的语法如下:

  • 对于日期参数:
TRUNC(date, [format])
  • 对于数值参数:
TRUNC(number, [decimal_places])

下面是对两种情况的详细说明:

  1. TRUNC()函数用于日期参数:

当应用于日期参数时,TRUNC()函数可将日期截断到指定的精度级别。常见的精度级别包括年、季度、月、周、日等。

使用示例:


--返回当前日期,截断到天    -- 2023/9/4
SELECT TRUNC(SYSDATE) FROM dual;
	
--返回当年第一天           -- 2023/1/1
SELECT TRUNC(SYSDATE, 'yyyy') FROM dual;
SELECT TRUNC(SYSDATE, 'YEAR') FROM dual;

--返回当月第一天           -- 2023/9/1
SELECT TRUNC(SYSDATE, 'MONTH') FROM dual;
SELECT TRUNC(SYSDATE, 'mm') FROM dual;

--返回当前年月日           -- 2023/9/4  
SELECT TRUNC(SYSDATE, 'dd') FROM dual;

--返回当前星期的第一天(星期日)  -- 2023/9/3
SELECT TRUNC(SYSDATE, 'd') FROM dual;

-- 返回星期一所在的一周起始日期  -- 2023/9/4
SELECT TRUNC(SYSDATE, 'IW') FROM dual;
 
--返回当前日期截取到小时,分秒补0 -- 2023/9/4 20:00:00
SELECT TRUNC(SYSDATE, 'hh') FROM dual;

--返回当前日期截取到分,秒补0  -- 2023/9/4 20:57:00
SELECT TRUNC(SYSDATE, 'mi') FROM dual;

注意,在截断到某个精度级别时,会将较低精度的所有日期部分置为零(例如,小时、分钟和秒)。

  1. TRUNC()函数用于数值参数:

当应用于数值参数时,TRUNC()函数可截断小数点后的位数,返回一个整数。

使用示例:

-- 默认将小数部分截断,只返回整数部分  --3
SELECT TRUNC(3.14159) FROM dual;

-- 将数值保留指定的小数位数		  -- 3.14
SELECT TRUNC(3.14159, 2) FROM dual;

-- 负数表示从小数点左边开始截取位数   -- 1200
SELECT TRUNC(1234.14159, -2) FROM dual;

在这个例子中,对于第一个查询,TRUNC()函数将小数值截断到整数部分,返回结果为3。而对于第二个查询,TRUNC()函数将小数值保留两位小数,返回结果为3.14。而对于第三个查询,TRUNC()函数将保留小数点左侧两位,返回结果为1200。

需要注意以下几点:

  • 对于日期参数,format参数是可选的。如果省略了format参数,默认情况下会截断到天。
  • 对于数值参数,decimal_places参数用于指定要保留的小数位数。它可以为正数(截断)或负数(进位)。
  • TRUNC()函数可以与其他函数和表达式结合使用,以便进行更复杂的数据操作和计算。
  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值