-- Start
日期也能做四舍五入?是的,我们可以使用 ROUND 和 TRUNC 函数对日期四舍五入。下面是一个简单的例子。
SELECT
TIMESTAMP '2015-02-10 05:15:29.800' DATE_TIME,
ROUND(TIMESTAMP '2015-02-10 05:15:29.800', 'DD') ROUND,
TRUNC(TIMESTAMP '2015-02-10 05:15:29.800', 'DD') TRUNC
FROM DUAL
UNION ALL
SELECT
TIMESTAMP '2015-08-20 15:40:31.100' DATE_TIME,
ROUND(TIMESTAMP '2015-08-20 15:40:31.100') ROUND,
TRUNC(TIMESTAMP '2015-08-20 15:40:31.100') TRUNC
FROM DUAL;
-- 结果如下
DATE_TIME ROUND TRUNC
2015-02-10 05:15:29.8000002015-02-10 00:00:00.0000002015-02-10 00:00:00.000000
2015-08-20 15:40:31.1000002015-08-21 00:00:00.0000002015-08-20 00:00:00.000000
-- 说明
1. ROUND 和 TRUNC 函数接受两个参数,第一个参数是要四舍五入的日期,第二个参数是格式,第二个参数可以省略,默认值是 'DD'
2. ROUND 是四舍五入,使用时特别要注意
3. TRUNC 顾名思义就是砍掉
下面的表格是 ROUND 和 TRUNC 函数支持的格式。
CC 四舍五入年的后两位
SCC 四舍五入年的后两位
SYYYY 四舍五入年
YYYY 四舍五入年
YEAR 四舍五入年
SYEAR 四舍五入年
YYY 四舍五入年
YY 四舍五入年
Y 四舍五入年
IYYY 四舍五入ISO年
IY 四舍五入ISO年
IY 四舍五入ISO年
I 四舍五入ISO年
Q 四舍五入季度
MONTH 四舍五入月
MON 四舍五入月
MM 四舍五入月
RM 四舍五入月
WW 四舍五入每年的第一个星期
IW 四舍五入每月的第一个ISO星期
W 四舍五入每月的第一个星期
DDD 四舍五入日
DD 四舍五入日
J 四舍五入日
DAY 四舍五入日每星期的第一个天
DY 四舍五入日每星期的第一个天
D 四舍五入日每星期的第一个天
HH 四舍五入小时
HH12 四舍五入小时
HH24 四舍五入小时
MI 四舍五入分钟
-- 声明:转载请注明出处
-- Last edited on 2015-06-23
-- Created by ShangBo on 2015-02-24
-- End