重庆思庄Oracle、Redhat认证学习论坛

标题: trunc函数与truncate函数的一点区别 [打印本页]

作者: 刘泽宇    时间: 2022-10-23 17:33
标题: trunc函数与truncate函数的一点区别
Oracle的trunc函数与truncate函数都可以对数值进行截取操作

-- 首先看对数值进行截取操作
SELECT TRUNCATE(122.123, 4) from dual;         # 122.123
SELECT TRUNCATE(122.123, 3) from dual;         # 122.123
SELECT TRUNCATE(122.123, 2) from dual;         # 122.12
SELECT TRUNCATE(122.123, 1) from dual;         # 122.1
SELECT TRUNCATE(122.123, 0) from dual;         # 122
SELECT TRUNCATE(122.123, -1) from dual; # 120
SELECT TRUNCATE(122.123, -2) from dual; # 100
SELECT TRUNCATE(122.123, -3) from dual; # 0
SELECT TRUNCATE(122.123, -4) from dual; # 0



--trunc函数
SELECT TRUNC(122.123, 4) from dual;         # 122.123
SELECT TRUNC(122.123, 3) from dual;         # 122.123
SELECT TRUNC(122.123, 2) from dual;         # 122.12
SELECT TRUNC(122.123, 1) from dual;         # 122.1
SELECT TRUNC(122.123, 0) from dual;         # 122
SELECT TRUNC(122.123, -1) from dual;     # 120
SELECT TRUNC(122.123, -2) from dual;     # 100
SELECT TRUNC(122.123, -3) from dual;     # 0
SELECT TRUNC(122.123, -4) from dual;     # 0

在数值操作上,trunc和truncate是一模一样的效果
但除此之外,trunc能够对日期进行操作,而truncate不能
--
SELECT TRUNC(sysdate, 'YY') from dual;         # 01-1月 -22
SELECT TRUNC(sysdate, 'yy') from dual;         # 01-1月 -22
SELECT TRUNC(sysdate, 'MM') from dual;         # 01-2月 -22
SELECT TRUNC(sysdate, 'mm') from dual;         # 01-2月 -22
SELECT TRUNC(sysdate, 'DD') from dual;         # 24-2月 -22
SELECT TRUNC(sysdate, 'dd') from dual;  # 24-2月 -22








欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2