六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 252|回复: 0

Oracle按时间分旬查询

[复制链接]

升级  28.67%

27

主题

27

主题

27

主题

秀才

Rank: 2

积分
93
 楼主| 发表于 2013-1-29 15:28:38 | 显示全部楼层 |阅读模式
最近在工作的时候,需要出报表,今天是出一个旬度报表,所谓旬度,即每月的十天为一旬,
前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的话,中旬;
----否则,下旬..
 
期待和您交流效率更高的方式.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表