oracle小技巧之无中生有多行,使用ntile(n)取当前日期所属的季度
2012-04-10 10:43
260 查看
我们都知道在oracle取当前日期所属季度时,我们通常的做法是简单的使用to_char(sysdate,'q'),即可以得到当前日期所属的季度,,忽然想到通示使用ntile(n)应该也可以实现,动手实践一下,效果还不错! 那么如何通过ntile(n)这个函数来取得当前日期所属的季度呢?
(1) 首先我们需要无中生有的生成12条记录,每条记录查询结果为月份的值;
(2) 使用ntile(4)将结果集分成4个片断;
(3) 那么当前日期落在第几个片断里,即是经几季度
整体的取季度的sql如下:
select quarter from (select ntile(4) over(order by rownum) quarter ,to_number(to_char(to_date('2011-01-01','yyyy-mm-dd'), 'MM')) m,rownum rn
from dual
connect by level <= 12) cc
where cc.m = rn;
(1) 首先我们需要无中生有的生成12条记录,每条记录查询结果为月份的值;
(2) 使用ntile(4)将结果集分成4个片断;
(3) 那么当前日期落在第几个片断里,即是经几季度
整体的取季度的sql如下:
select quarter from (select ntile(4) over(order by rownum) quarter ,to_number(to_char(to_date('2011-01-01','yyyy-mm-dd'), 'MM')) m,rownum rn
from dual
connect by level <= 12) cc
where cc.m = rn;
相关文章推荐
- oracle日期函数IW和WW 的区别 oracle求当前日期是今年第几天,第几周,第几月,第几季度?
- oracle 当前日期为当年第几周,几天,几月,几季度;ww,iw,w区别
- excel算出日期所属季度
- 利用sql标量值函数取得指定日期当前季度首月份/结束月份
- Oracle使用小技巧
- oracle字符串转日期格式,to_date()函数的使用
- ORACLE当前用户正在使用无法删除时的强制删除方法
- Java使用Calendar获取当前日期
- mysql/oracle 小技巧自动插入当前时间
- ORACLE时间日期格式使用总结(参考网上资料汇总)
- java获取当前日期使用实例
- Oracle 获取当前日期及日期格式
- oracle 中由当前日期获得前一天,前一月的日期
- oracle使用to_char和next_day函数得到本周的第一天和最后一天日期
- oracle中使用sql语句将date日期7月21日2017类型转换为7/21/2017
- JavaScript基础 使用new Date() 创建当前日期时间对象
- 日期工具转换,取得当前半年、一年、本周、当前季度日期等开始结束时间
- 使用java的Calendar对象获得当前日期
- Java使用String类格式化当前日期实现代码
- 如何将Oracle 如何将当前日期加一天、一分钟?