Oracle 取出某一时间段内数据

wleexi 2013-06-24 03:49:49
现在有一张A表,有个字段createTime是时间类型。
需求是要求分别查询出当前时间开始 一周内,一月呢,24小时内的数据,
请问下and条件该怎么写
...全文
631 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
minitoy 2013-06-25
  • 打赏
  • 举报
回复
--一天 select * from a where createTime>= SYSDATE-1; --一周 select * from a where createTime>= SYSDATE-7; --一月 select * from a where createTime>= SYSDATE-interval '1' month; --一年 select * from a where createTime>= SYSDATE-interval '12' month;
minitoy 2013-06-25
  • 打赏
  • 举报
回复
--一天 select * from a where createTime>= SYSDATE-1; --一周 select * from a where createTime>= SYSDATE-7; --一月 select * from a where createTime>= add_months(SYSDATE,-1); --一年 select * from a where createTime>= add_months(SYSDATE,-12);
wleexi 2013-06-25
  • 打赏
  • 举报
回复
引用 2 楼 sasacat 的回复:
select * from a where createTime>= SYSDATE-7 select * from a where createTime>= SYSDATE-30 select * from a where createTime>= SYSDATE-1
select * from a where createTime>= SYSDATE-30 这个会不会自动判断当前月份的天数呢
gyouth 2013-06-24
  • 打赏
  • 举报
回复
select * from a where createtime>=sysdate-1 --24小时 select * from a where createtime>=sysdate-7--一周 select * from a where createtime>=TO_DATE(TO_CHAR(SYSDATE, 'YYYY-MM') || '-01 00:00:01', 'YYYY-MM-DD HH24:MI:SS') --从月初到现在的所有
善若止水 2013-06-24
  • 打赏
  • 举报
回复
一 如果是天,可以直接的用相加减的方法,比如sysdate +7,表一周内 二 小时,用SELECT SYSDATE +1/24*2 FROM dual 表示两个小时内
sasacat 2013-06-24
  • 打赏
  • 举报
回复
select * from a where createTime>= SYSDATE-7 select * from a where createTime>= SYSDATE-30 select * from a where createTime>= SYSDATE-1
  • 打赏
  • 举报
回复

select *
from tb1
where createTime > sysdate - 7 --参数自己设置1就是一天 如果是1小时 就是sysdate - 1/24

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧