oracle 查询本周,本月,本年数据

当月数据

Java代码

  1. select * from table t       
  2. where t.create_time >=TRUNC(SYSDATE, 'MM')       
  3. and t.create_time<=last_day(SYSDATE)    

select * from table t where t.create_time >=TRUNC(SYSDATE, 'MM') and t.create_time<=last_day(SYSDATE)Java代码

  1. create_time为你要查询的时间  

create_time为你要查询的时间

当年数据

Java代码

  1. select * from table t      
  2. where t.create_time >=trunc(sysdate,'YYYY')       
  3. and t.create_time<=add_months(trunc(sysdate,'YYYY'),12)-1  

select * from table t where t.create_time >=trunc(sysdate,'YYYY') and t.create_time<=add_months(trunc(sysdate,'YYYY'),12)-1

本周(国外周日为一个星期第一天)

Java代码

  1. where t.create_time >=trunc(sysdate,'day')+1 and t.create_time<=trunc(sysdate,'day')+6    

where t.create_time >=trunc(sysdate,'day')+1 and t.create_time<=trunc(sysdate,'day')+6

本周(国内周一为一个星期第一天)

Java代码

  1. where t.create_time >=trunc(next_day(sysdate-8,1)+1) and t.create_time<=trunc(next_day(sysdate-8,1)+7)+1  

where t.create_time >=trunc(next_day(sysdate-8,1)+1) and t.create_time<=trunc(next_day(sysdate-8,1)+7)+1

  

时间: 2024-11-18 12:07:15

oracle 查询本周,本月,本年数据的相关文章

Oracle 查询varchar2丢失部分数据问题

问题描述 在数据库中有张表的字段 假如是 value varchar2(30):其中有一个值是 0.02或者-0.02当用sql 查询的时候 有时候查询出来的结果是 .02 或者 -.02这个是Oracle 的bug吗? 为什么用varchar2来存放小数的时候偶尔会出现这个问题?怎么样可以在数据库端避免这个问题,而不是在程序中作后续补救?此问题困扰我好几天啦? 解决方案 这也不算是bug,对于小数存储在字符类型的字段中,oracle在取值的时候会使用to_char进行转化,但是默认的to_ch

sql server-sqlserver查询本周每天数据

问题描述 sqlserver查询本周每天数据 不是查询总数,我需要查询两个字段,使用convert函数按时间查询再分组,就得将两个字段放入分组条件中,就错乱了. 假设有表table,字段有时间精确到秒,ID,消费金额和消费地点,现在要查询一段时间每天的消费金额和地点(时间可随意指定) 解决方案 围绕convert函数进行时间的筛选,还是可以的但是效率不高, select c.autoid,c.callerid,c.doorid,c.cardday,c.eventtype,d.doorid as

php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)

php.mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳) //其中 video 是表名: //createtime 是字段: // //数据库time字段为时间戳 // //查询当天: $start = date('Y-m-d 00:00:00'); $end = date('Y-m-d H:i:s'); SELECT * FROM `table_name` WHERE `time` >= unix_timestamp( '$start' ) AND `time` <= uni

MySQL查询指定日期内数据sql(本月本周与上月上周)

今天  代码如下 复制代码 select * from 表名 where to_days(时间字段名)=to_days(now()); 昨天  代码如下 复制代码 SELECT * FROM `表名` where TO_DAYS(NOW()) – TO_DAYS(时间字段名) = 1; /*DATEDIFF(now() , FROM_UNIXTIME(`时间字段名`)) = 1; //时间字段 存储类型为时间戳*/ 7天  代码如下 复制代码 SELECT * FROM `表名` where D

MySQL查询本周、上周、本月、上个月份数据的sql代码_Mysql

查询当前这周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now()); 查询上周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1; 查询当前月份的数据 se

数据-排名,rownum,Oracle查询

问题描述 排名,rownum,Oracle查询 知道表t_img_code中数据总数totalCount,然后计算1%~99%所对应的排名数(rank(n)=n%*totalCount),查找排名所对应的costTime(表中另一个字段costTime),select * from (select rownum rnt.costTime from (select t.costTime from tt_img_code t order by costTime) t) where rn in (-)

oracle查询效率问题,分时间段查询数据效率低

问题描述 oracle查询效率问题,分时间段查询数据效率低 小弟菜鸟一枚,今遇到一问题请教高手,问题如下: 用户有一需求,要求查询某个时间段内(如2014-05-01 -- 2014-05-31),每十二小时的生产数据,8:00--20:00, 20:00--8:00, 所以小弟先建了个临时表,将每个时间段都分出来,时间段如下: 2014-5-1 7:01:00 --2014-5-1 8:00:00 2014-5-1 8:00:00 --2014-5-1 20:00:00 ....... 然后再

oracle sql sql-SQL Oracle 查询数据,汇总数据 oracle数据查询

问题描述 SQL Oracle 查询数据,汇总数据 oracle数据查询 序号 数量 日期 1 1 20131001 2 1 20131007 3 8 20131008 4 9 20131009 5 5 20131010 使用SQL语句查询出这样的结果: 1 1 20131001 2 2 20131007 3 9 20131008 4 17 20131009 5 22 20131010 也就是数量这一列为当天数量加上前一天的数量,谢谢 解决方案 假设存储这些数据的表名为cal_amount,su

Oracle查询一个表中的几万条数据,不用or,优化的方法还有什么呢

问题描述 Oracle查询一个表中的几万条数据,不用or,优化的方法还有什么呢 如:name numbers a 22 b 33 c 44 d 55 . . . 查询a.b.d的详细信息,不用or in之类的 解决方案 用 EXISTS ........