oracle统计时间段内每一天的数据(推荐)

下面给大家介绍oracle统计时间段内每一天的数据,具体sql语句如下所示:

1. 生成1000个随机数
 SELECT ROWNUM RN,
    DBMS_RANDOM.VALUE(0, 1000) RANDOM
  FROM DUAL
CONNECT BY ROWNUM <= 1000;
注:DBMS_RANDOM.VALUE(A, B)是随机数产生函数, A是区间的开始,B是区间的结束 

2. 例如:拆分以逗号隔开的 A,B,C,D 字符串
 SELECT REGEXP_SUBSTR('A,B,C,D', '[^,]+',  1,  ROWNUM)
  FROM DUAL
CONNECT BY ROWNUM <= REGEXP_COUNT('A,B,C,D', '[,]', 1) + 1;
注:REGEXP_SUBSTR是字符串截取正则表达式:A,B,C,D 是要截取的字符串;[^,]+ 是正则表达式匹配模式,匹配以非逗号的任意字符开始,以非逗号的任意字符结束的一段字符, 1 是从第一个字符开始, ROWNUM 是匹配的第 ROWNUM 字符串。
    REGEXP_COUNT是数量查询正则表达式:A,B,C,D 是要截取的字符串;[,] 是正则表达式匹配模式,匹配以逗号, 1 是从第一个字符开始; REGEXP_COUNT + 1 就可以算出有多少个子字符串 

3. 列出两个月份之间所有的月份
SELECT TO_CHAR(ADD_MONTHS(DATE'2009-03-01', ROWNUM-1), 'YYYY-MM') MONTHS
  FROM DUAL
CONNECT BY ROWNUM <= MONTHS_BETWEEN(DATE'2010-03-01', DATE'2009-03-01') + 1; 

4. 列出两个日期之间所有的天
 SELECT TO_CHAR(DATE'2009-05-11' + ROWNUM - 1, 'YYYY-MM-DD') AS DAYS
  FROM DUAL
CONNECT BY ROWNUM <= DATE'2018-01-02' - DATE'2018-03-07' + 1 

PS:下面看下Oracle 取某段时间的每一天的日期

SELECT TO_DATE('2016-01-01', 'yyyy-MM-dd') + ROWNUM - 1 as daylist,TO_DATE('2016-01-01', 'yyyy-MM-dd') + ROWNUM as daylists
FROM DUAL
CONNECT BY ROWNUM <=
trunc(to_date('2016-07-31', 'yyyy-MM-dd') -
to_date('2016-01-01', 'yyyy-MM-dd')) + 1

总结

以上所述是小编给大家介绍的oracle统计时间段内每一天的数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

您可能感兴趣的文章:

  • Oracle数据库按时间进行分组统计数据的方法
(0)

相关推荐

  • Oracle数据库按时间进行分组统计数据的方法

    Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- 14-2月 -08 20 10-3月 -08 2 14-4月 -08 6 14-6月 -08 75 24-10月-09 23 14-11月-09 45 04-8月 -10 5 04-9月 -10 44 04-10月-10 88 注意:为了显示更直观,如下查询已皆按相应分组排序 1.按年份分组 select to_char(expo

  • oracle统计时间段内每一天的数据(推荐)

    下面给大家介绍oracle统计时间段内每一天的数据,具体sql语句如下所示: 1. 生成1000个随机数 SELECT ROWNUM RN, DBMS_RANDOM.VALUE(0, 1000) RANDOM FROM DUAL CONNECT BY ROWNUM <= 1000; 注:DBMS_RANDOM.VALUE(A, B)是随机数产生函数, A是区间的开始,B是区间的结束 2. 例如:拆分以逗号隔开的 A,B,C,D 字符串 SELECT REGEXP_SUBSTR('A,B,C,D'

  • mysql 获取规定时间段内的统计数据

    mysql 获取规定时间段内的统计数据 按年统计 SELECT count(*), DATE_FORMAT(order_info.create_time, '%Y-%m-%d') AS count_by_date FROM order_info WHERE DATE_FORMAT(order_info.create_time, '%Y') = '2017' GROUP BY count_by_date ORDER BY NULL 按月统计 SELECT count(*), DATE_FORMAT

  • JavaScript计算两个日期时间段内日期的方法

    本文实例讲述了JavaScript计算两个日期时间段内日期的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /*************************  * 计算两个日期时间段内所有日期  *   * @param value1  *            开始日期 YYYY-MM-DD  * @param value2  *            结束日期  * return 日期数组  */  function dataScope(value1, value2

  • 问个高难度的复杂查询(在一个时间段内的间隔查询)

    我想在一个时间段内然后按照间隔时间来查询数据 select * from 监控温度表 where 监控温度表.时间 between '" + Str(dtStart.Value) + "'AND '" + Str(dtEnd.Value) + "'order by id 这个是在一个时间段内查询,现在要加个时间间隔来查询,不知所云,望高手解答 其中dtStart.Value和dtEnd.Value是DTPicker1控件 举例:比如说我查询时间段在 2007-1-5

  • Java 判断一个时间是否在另一个时间段内

          需求:当时间在凌晨0点至0点5分之间程序不执行. 也就是实现判断当前时间点是否在00:00:00至00:05:00之间 方法: Java代码 : /** * 判断时间是否在时间段内 * * @param date * 当前时间 yyyy-MM-dd HH:mm:ss * @param strDateBegin * 开始时间 00:00:00 * @param strDateEnd * 结束时间 00:05:00 * @return */ public static boolean i

  • Oracle 统计用户下表的数据量实现脚本

    要想统计用户下所有表的数据量,可以查看user_tables,此表里面是统计信息,当然这个可能不太准,要想非常精确,需要直接count表.下面的脚本有异常不中断,可以重复执行的特点. create table bk_count_tables ( owner VARCHAR2(30), table_name VARCHAR2(30), part_col varchar2(100),--分区字段 row_s number, gather_time date ); create index ind_b

  • JavaScript比较当前时间是否在指定时间段内的方法

    本文实例讲述了JavaScript比较当前时间是否在指定时间段内的方法.分享给大家供大家参考,具体如下: function checkTime(stime, etime) { //开始时间 var arrs = stime.split("-"); var startTime = new Date(arrs[0], arrs[1], arrs[2]); var startTimes = startTime.getTime(); //结束时间 var arre = etime.split(

  • python统计文本文件内单词数量的方法

    本文实例讲述了python统计文本文件内单词数量的方法.分享给大家供大家参考.具体实现方法如下: # count lines, sentences, and words of a text file # set all the counters to zero lines, blanklines, sentences, words = 0, 0, 0, 0 print '-' * 50 try: # use a text file you have, or google for this one

  • 如何计算出当前日期属于定义时间段内的第几星期?

    如何计算出当前日期属于定义时间段内的第几星期?Function CalculateWeekNo(BeginDate,EndDate,InputDate)dim wdate(500,8)z=0x=0strlong=len(CStr(inputdate))-9inputdate=cdate(left(CStr(inputdate),strlong))for i=cdate(BeginDate) to cdate(EndDate)    if inputdate=i then    x=z    Ex

  • Linux使用Cron+AT实现在某个确定的时间段内随机执行命令

    写了个脚本签到,但是不想总是在确定的时间签到,不然在数据库里面的记录太假了,所以需要在确定的时间段内,随机选个时间执行,最后想到了使用Cron+AT实现 思路很简单,就是cron设置一个起始时间,比如每天早上6点,在这个时间往后随机的2~350分钟里面去签到 那么只要这样 0 6 * * * echo 'sleep ' $(shuf -i 1-60 -n 1)';date >>/tmp/xxxx.txt' |at now + $(shuf -i 2-350 -n 1) min 之所以前面还加了

随机推荐