目录前言一、TRUNC函数的语法二、主要用途三、测试用例1、测试日期截取2、测试数值截取需要注意以下几点:总结前言 在oracle中,TRUNC函数用于截取或截断日期、时间或数值表达式的部分。它返回一个日期、时间或数值的
在oracle中,TRUNC函数用于截取或截断日期、时间或数值表达式的部分。它返回一个日期、时间或数值的截断版本,根据提供的格式进行截取。
参数说明:
参数 | 说明 |
---|---|
YYYY | 年份 |
YYYY-MM | 年份和月份 |
YYYY-MM-DD | 年份、月份和日期 |
YYYY-MM-DD HH24 | 年份、月份、日期和小时(24小时制) |
YYYY-MM-DD HH24:MI | 年份、月份、日期、小时和分钟 |
YYYY-MM-DD HH24:MI:SS | 年份、月份、日期、小时、分钟和秒钟 |
YYYY-MM-DD HH24:MI:SS.FF | 年份、月份、日期、小时、分钟、秒钟和毫秒 |
在Oracle中,TRUNC函数用于截断日期或数值的小数部分。它具有以下用途:
截断日期部分:当TRUNC函数应用于日期时,它会截断日期的时间部分,返回一个新的日期,时间部分设置为零。例如,TRUNC(SYSDATE)将返回当前日期,时间部分设置为零。
截断时间部分:当TRUNC函数应用于时间时,它将返回一个新的时间,将分钟、秒和毫秒部分设置为零。例如,TRUNC(SYSTIMESTAMP)将返回当前时间,分钟、秒和毫秒部分设置为零。此外,还可以指定截取的位数,例如TRUNC(date, ‘MONTH’)可以截取日期的月份部分。还可以用于将日期或时间戳向下取整到指定的单位,比如TRUNC(date, ‘IW’)可以将日期向下取整到本周的第一天。
截断数值部分:当TRUNC函数应用于数值时,它将截断数值的小数部分,并返回一个新的数值。例如,TRUNC(3.14159)将返回3。
截断小数部分:当TRUNC函数应用于数值时,可以指定截断的精度。例如,TRUNC(3.14159, 2)将返回3.14,截断到小数点后两位。
注意,TRUNC函数并不四舍五入,而是直接截取。如果需要进行四舍五入操作,可以使用sql中的ROUND函数。
测试SQL:
SELECT
TRUNC(SYSDATE,'YYYY') AS YEAR_TRUNC,
TRUNC(SYSDATE,'MM') AS MONTH_TRUNC,
TRUNC(SYSDATE,'DD') AS DAY_TRUNC,
TRUNC(SYSDATE,'HH24') AS HOUR_TRUNC,
TRUNC(SYSDATE,'MI') AS MINUTE_TRUNC,
TRUNC(SYSDATE) -1/24 AS FIRST_TRUNC,
TRUNC(SYSDATE) +2/24 AS SECOND_TRUNC
FROM DUAL;
测试结果:
其中:最后2个用例,分别表示-1/24表示24点的前1个小时;+2/24表示24点的后2个小时。
测试SQL:
SELECT
TRUNC(12345.6789) AS NUMBER1,
TRUNC(12345.6789,0) AS NUMBER2,
TRUNC(12345.6789,1) AS NUMBER3,
TRUNC(12345.6789,2) AS NUMBER4,
TRUNC(12345.6789,3) AS NUMBER5,
TRUNC(12345.6789,4) AS NUMBER6,
TRUNC(12345.6789,-1) AS NUMBER7,
TRUNC(12345.6789,-2) AS NUMBER8,
TRUNC(12345.6789,-3) AS NUMBER8,
TRUNC(12345.6789,-4) AS NUMBER10
FROM DUAL;
测试结果:
总的来说,TRUNC函数可以用于截断日期的时间部分、时间的分钟、秒和毫秒部分、数值的小数部分,并可以指定截断的精度。
到此这篇关于Oracle数据库中TRUNC()函数的文章就介绍到这了,更多相关Oracle TRUNC()函数详解内容请搜索编程网(www.lsjlt.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网(www.lsjlt.com)!
--结束END--
本文标题: Oracle数据库中TRUNC()函数示例详解
本文链接: https://www.lsjlt.com/news/623860.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0