ROUND (date)详细测试

https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions136.htm

 

ROUND(date [, fmt ])

Purpose

ROUND returns date rounded to the unit specified by the format model fmt. The value returned is always of datatype DATE, even if you specify a different datetime datatype for date. If you omit fmt, then date is rounded to the nearest day. The date expression must resolve to a DATE value.

 ROUND返回date四舍五入到 格式模型fmt 指定的单位。返回的值始终为数据类型DATE,即使您指定的参数date为不同的datetime数据类型。如果省略fmt,则date舍入到最近的一天。该date表达式必须解析为一个DATE值。

SELECT ROUND(TO_DATE( '27 -OCT-00', 'DD -MON -YY','NLS_DATE_LANGUAGE = American' ),'YEAR')from dual 

 

 

 分析一year

select round(to_date('1-0月-18'),'year') from dual;

select round(to_date('1-1月-18'),'year') from dual;
select round(to_date('1-5月-18'),'year') from dual;
select round(to_date('1-6月-18'),'year') from dual; 

select round(to_date('1-7月-18'),'year') from dual;
select round(to_date('1-12月-18'),'year') from dual; 

结论 一 1-6 年不进,7-12年进1

再执行一句

select to_char(round(to_date('1-1月-18'),'year'),'YYYY-MM-DD HH24:MI:SS') from dual;

 

可见 四舍五入到 年时 ,后面的时间都默认为 1月1日0分0秒 ,下面的测试类似

分析二month

select round(to_date('15-10月-18'),'month') from dual;

select round(to_date('16-10月-18'),'month') from dual; 

 

总结二 1-15 月不进 ,16-30/31月进1

分析三day

select round(to_date('17-10月-18'),'day') from dual; --17-10月-18 周三   14-10月-18 周日
select round(to_date('18-10月-18'),'day') from dual; --18-10月-18 周四   21-10月-18  周日

总结三 天数按**周一至周三 和 周四至周日  **四舍五入到最近的 周日 

ok

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值