ORACLE中,我要选取一个30分钟的时间段,取的是sysdate系统当前时间,取到分钟,和当前时间的分钟数往前推

ORACLE中,我要选取一个30分钟的时间段,取的是sysdate系统当前时间,取到分钟,和当前时间的分钟数往前推30分钟,比如我现在取的时间是当前时间'2010-12-... ORACLE中,我要选取一个30分钟的时间段,取的是sysdate系统当前时间,取到分钟,和当前时间的分钟数往前推30分钟,比如我现在取的时间是当前时间'2010-12-25 14:00', 我想取到往前推的30分钟的时间点'2010-12-25 13:31',并求出此时间段的记录条数,请问各位大虾高手帮帮忙,这个SQL怎么写?
拜谢!!!!
展开
 我来答
agui_xiaowei
2011-01-10 · 超过33用户采纳过TA的回答
知道答主
回答量:125
采纳率:0%
帮助的人:73.9万
展开全部
sysdate+1是加一天,sysdate+/-(1/48)就是加/减 半个小时
select count(*) from table_name where table_name.date between to_char(sysdate-1/48,'yyyymmdd HH:mi') and sysdate
其中date为你要统计的字段名字
table_name为表的名字
to_char是一个日期函数 to_char(sysdate,'yyyymmdd HH:mi') 为截取到分钟,对应的to_char(sysdate,'yyyymmdd HH')为截取到小时。to_char(sysdate,'yyyymm')为截取到月份,
希望对你有帮助。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jianwenh
2011-01-10 · TA获得超过333个赞
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:339万
展开全部
0.00001157是1秒, yourdate>sysdate-0.00001157*n, 在这里,n=60*30
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FIREFLY5002
2011-01-10
知道答主
回答量:23
采纳率:0%
帮助的人:0
展开全部
直接sysdate-30/1440 就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ayanami365
2011-01-10 · TA获得超过937个赞
知道小有建树答主
回答量:1777
采纳率:0%
帮助的人:731万
展开全部
sysdate +1就是1天
sysdate+1/48就是半小时
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leadingzsx
2011-01-10 · 超过12用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:27.6万
展开全部
为当前时间减去30分钟
SQL> select to_char(sysdate, 'yyyy-mm-dd hh:mi:ss') now_date,
2 to_char(sysdate+(-30/24/60), 'yyyy-mm-dd hh:mi:ss') new_date
3 from dual;

NOW_DATE NEW_DATE
-------------------------------------- --------------------------------------
2011-01-10 10:47:31 2011-01-10 10:17:31

SQL> select * from table where datetime>=to_date( NEW_DATE,'yyyy-mm-dd hh:mi:ss') and datetime<=to_date(NOW_DATE,'yyyy-mm-dd hh:mi:ss')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式