ITPub博客

首页 > 数据库 > Oracle > 动态生成日期

动态生成日期

原创 Oracle 作者:hanjs 时间:2007-02-02 21:14:18 0 删除 编辑

1、动态生成一年中的日期

select to_date('2007-01-01','yyyy-mm-dd')+(rownum-1) 日期 from dual
Connect By rownum<=to_char(to_date(
'20071231', 'yyyymmdd'), 'ddd');

注意,上面的语句在10g以上版本可以全部显示,对于92只能显示100条。不过可以利用一个记录数超过366的表来实现。

select to_date('2007-01-01','yyyy-mm-dd')+(rownum-1) 日期
from user_objects
where rownum<=to_char(to_date(
'20071231', 'yyyymmdd'), 'ddd');

2、动态生成一年中季度与月份的对应

Select to_char(日期,'q') 季度,
to_char(
日期,
'yyyy-mm') 年月 from(
select add_months(to_date(
'2001-01','yyyy-mm'),(rownum-1)) 日期 from dual
where rownum<=
12
);

3、动态生成每月月末日期、年月

select last_day(add_months(to_date('2007-01','yyyy-mm'),(rownum-1))) 月末日期 from dual Connect By rownum<=12;select to_char(add_months(to_date('2007-01','yyyy-mm'),(rownum-1)),'yyyy-mm') 年月 from dual Connect By rownum<=12;

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7659204/viewspace-897072/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-01-09

  • 博文量
    23
  • 访问量
    83802