Oracle 查询两个时间段内的所有日期列表

摘要:
1、查询某时间段内日期列表selectlevel,to_char(to_date('2013-12-31','yyyy-mm-dd')+level-1,'yyyy-mm-dd')asdate_timefromdualconnectbylevel˂=to_date('2014-01-03','yyyy-mm-dd')-to_date('2013-12-31','yyyy-mm-dd')+12、查询前

1、查询某时间段内日期列表

select level,to_char(to_date('2013-12-31','yyyy-mm-dd')+level-1,'yyyy-mm-dd') as date_time  
from dual 
connect by level <=to_date('2014-01-03','yyyy-mm-dd')-to_date('2013-12-31','yyyy-mm-dd')+1 

2、查询前两个月日期列表

1 SELECT T.DATE_ID FROM ( 
2 select to_char(ADD_MONTHS( TO_DATE(to_char(sysdate-1,'yyyyMMdd'),'yyyyMMdd' ) ,- 2)+ rownum,'yyyyMMdd') DATE_ID 
3 fromdual 
4 connect by rownum <=to_date(to_char(sysdate-1,'yyyyMMdd'),'yyyyMMdd')-ADD_MONTHS( TO_DATE(to_char(sysdate-1,'yyyyMMdd'),'YYYYMMDD' ) ,- 2) 
5 ) t order by DATE_ID desc 

3.查询月份列表

1 SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2014-10', 'yyyy-MM'), ROWNUM - 1), 
2                'yyyyMM') asmonthlist 
3 FROM DUAL 
4 CONNECT BY ROWNUM <= 
5            months_between(to_date('2015-06', 'yyyy-MM'), 
6                           to_date('2014-10', 'yyyy-MM')) + 1 

4.年份列表

1 SELECT 
2     TO_CHAR( ADD_MONTHS( TO_DATE( '2014-10' ,'yyyy-MM' ) ,( ROWNUM - 1 ) * 12 ) ,'yyyy') AS yearlist 
3 FROM 
4     DUAL CONNECT BY ROWNUM <=months_between( 
5 to_date( 
6             '2015-06', 
7             'yyyy-MM' 
8 ) , 
9 to_date( 
10             '2014-10', 
11             'yyyy-MM' 
12 ) 
13     ) / 12 + 1

免责声明:文章转载自《Oracle 查询两个时间段内的所有日期列表》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇格式化小数点和百分号 DecimalFormattercocos2dx实现单机版三国杀(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Sqlserver存储过程及其创建(转)

存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。 存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单...

MYSQL数据库基础篇

MySQL基础入门 一、数据库1 数据库概念(了解) 1.1 什么是数据库 数据库就是用来存储和管理数据的仓库! 数据库存储数据的优先: l  可存储大量数据; l  方便检索; l  保持数据的一致性、完整性; l  安全,可共享; l  通过组合分析,可产生新数据。 数据库具有原子性,数据不可再分割! 1.2 数据库的发展历程 l  没有数据库,使用...

SQL SERVER按照时间查询今天、明天、几天前的数据

今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=17天内的所有数据:select * from 表名 where DateDiff(dd...

从网络I/O模型到Netty,先深入了解下I/O多路复用

微信搜索【阿丸笔记】,关注Java/MySQL/中间件各系列原创实战笔记,干货满满。 本文是Netty系列第3篇 上一篇文章我们了解了Unix标准的5种网络I/O模型,知道了它们的核心区别与各自的优缺点。尤其是I/O多路复用模型,在高并发场景下,有着非常好的优势。而Netty也采用了I/O多路复用模型。 那Netty是如何实现I/O多路复用的呢? Nett...

MySQL查询大小写是否敏感问题分析

mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的。  1. 什么是字符集和校验规则? 字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。任何一个给定的字符集至少有一个校对规则,它可能有几个校对规则。要想列出一个字符集的校对规则,使用...

【转修正】sql server行版本控制的隔离级别

在SQL Server标准的已提交读(READ COMMITTED)隔离级别下,一个读操作会和一个写操作相互阻塞。未提交读(READ UNCOMMITTED)虽然不会有这种阻塞,但是读操作可能会读到脏数据,这是大部分用户不能接受的。有些关系型数据库(例如Oracle)使用的是另一种处理方式。在任何一个修改之前,先对修改前的版本做一个复制[WX1],后续的一...