Oracle按时间分旬查询

最近在工作的时候,需要出报表,今天是出一个旬度报表,所谓旬度,即每月的十天为一旬,

前10天(1-10号)为上旬,中10天(11-20号)为中旬,余下的为下旬.

 

在oracle中,用一个简单的语句就可以将日期进行分旬:

select decode(trunc((to_char(to_date('2011-10-16','yyyy-mm-dd'), 'dd')-1)/10),0, '上旬 ',1,'中旬 ', '下旬 '),trunc((to_char(to_date('2011-10-16','yyyy-mm-dd'), 'dd')-1)/10)
from dual

 

----简单解释一下这个语句,decode函数为判断函数,类似于if(),语句中的意思是:

----如果trunc((to_char(to_date('2011-10-16','yyyy-mm-dd'), 'dd')-1)/10)==0的话,上旬;

----如果trunc((to_char(to_date('2011-10-16','yyyy-mm-dd'), 'dd')-1)/10)==1的话,中旬;

----否则,下旬..

 

期待和您交流效率更高的方式.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值