oracle获取某时间段内的年份、月份、日期列表

获取日期列表:

SELECT TO_CHAR(TO_DATE('2014-10-01', 'yyyy-MM-dd') + ROWNUM - 1, 'yyyyMMdd') as daylist
  FROM DUAL
CONNECT BY ROWNUM <=
           trunc(to_date('2015-06-01', 'yyyy-MM-dd') -
                 to_date('2014-10-01', 'yyyy-MM-dd')) + 1

获取月份列表:

SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2014-10', 'yyyy-MM'), ROWNUM - 1),
               'yyyyMM') as monthlist
  FROM DUAL
CONNECT BY ROWNUM <=
           months_between(to_date('2015-06', 'yyyy-MM'),
                          to_date('2014-10', 'yyyy-MM')) + 1

获取年份列表:

SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2014-10', 'yyyy-MM'), (ROWNUM - 1) * 12),
               'yyyy') as yearlist
  FROM DUAL
CONNECT BY ROWNUM <=
           months_between(to_date('2015-06', 'yyyy-MM'),
                          to_date('2014-10', 'yyyy-MM')) / 12 + 1
时间: 2024-07-31 22:54:52

oracle获取某时间段内的年份、月份、日期列表的相关文章

ORACLE获取某个时间段之间的月份列表和日期列表

ORACLE获取某个时间段之间的月份列表获取某个时间段之间的月份列表(示例返回2009-03到2010-03之间的月份列表) SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2009-03','YYYY-MM'),ROWNUM-1 ),'YYYY-MM') DAY_ID FROM DUAL CONNECT BY ROWNUM<=months_between<br>(to_date('2010-03', 'yyyy-mm'),to_date('2009-03', 'y

Oracle查询某个时间段内第天的统计数

1:Oracle查询某个时间段内,每天发送短信的总条数 select tab.tday,       (select count(1) from t_msgsendrecode m where trunc(m.sendtime) = to_date(tab.tday,'yyyy-mm-dd'))from ( select * from (select to_char(add_months(last_day(to_date('2015-6-2','yyyy-mm-dd'))+1,-1),'YYYY

ORACLE获取某个时间段之间的月份列表

返回1-31,或者1-12,或者某个 select rownum   from dual   connect by rownum<31 就是connect by http://marcospring.iteye.com/blog/1721600 获取某个时间段之间的月份列表(示例返回2009-03到2010-03之间的月份列表) SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2009-03','YYYY-MM'),ROWNUM-1 ),'YYYY-MM') DAY_ID

sql如何获取一个时间段内的月份

select convert(varchar(7),dateadd(month,number,'2010-01-01'),120) from master..spt_values where type='P' and dateadd(month,number,'2010-01-01')<='2010-09-01' /* ------- 2010-01 2010-02 2010-03 2010-04 2010-05 2010-06 2010-07 2010-08 2010-09 */

oracle获取定时时间段

PROCEDURE SP_AUTO_HOUR ISv_time varchar2(10);v_time1 varchar2(10); begin select to_char(sysdate-1/24,'yyyymmddhh24') into v_time from dual; select to_char(sysdate,'yyyymmddhh24') into v_time1 from dual; insert into test select * from test1 where to_c

MySQL 获取某个时间段每一天、每一个小时的统计数据

获取每一天的统计数据做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:18:36这个时间段内,统计出每一天的日志数据,一般情况下,看到这种需求都是考虑使用函数来搞定,直接上sql语句 SELECT DATE_FORMAT(trigger_time, '%Y-%m-%d') triggerDay, COUNT(id) triggerCount FROM `job_qrtz_

如何获取两个任意时间段内的所有日期(及其他处理日期时间的方法总结)

(1)用一下方法获取两个任意时间段内的所有日期,代码如下: #1.将字符串转换成datetime类型 def strtodatetime(datestr,format): return datetime.datetime.strptime(datestr,format) #2.时间转换成字符串,格式为2008-08-02 def datetostr(date): return str(date)[0:10] #3.两个日期相隔多少天,例:2008-10-03和2008-10-01是相隔两天 de

帆软报表查询时间段内的月份

用帆软报表做统计时,经常要用到查询时间段内的月份.sql如下(oracle): SELECT TO_CHAR(ADD_MONTHS(TO_DATE('${STARTTIME}', 'YYYY-MM'), ROWNUM - 1),'yyyy-MM') eDate, TO_CHAR(ADD_MONTHS(TO_DATE('${STARTTIME}', 'YYYY-MM'), ROWNUM - 1),'MM') DAY_ID, TO_CHAR(ADD_MONTHS(TO_DATE('${STARTTI

slq获取某一时间段内的全部数据

条件:根据数据库原有某一时间段数据,获取在筛选时间段内的全部数据信息: 通过分析在这筛选时间段的数据可大体分为以下3种情况: 数据库某字段的开始时间在筛选的开始时间与结束时间范围内 数据库某字段的结束时间在筛选的开始时间与结束时间范围内 数据库某字段的开始时间小于筛选的开始时间,结束时间大于筛选的结束时间 转化为sql语句为: ((startDate between '筛选开始时间' and '筛选结束时间') or (endDate between '筛选开始时间' and '筛选结束时间')