oracle 查询时间距离当前时间的分钟数

表A有日期字段time
想查询time距离当前时间的分钟数
select语句要怎么写
你们都错了,都说了时间减时间得出的是天数,无论什么格式
正确的是
select EXTRACT(DAY FROM SYSTIMESTAMP -time)*24*60+EXTRACT(HOUR FROM SYSTIMESTAMP -time)*60+EXTRACT(minute FROM SYSTIMESTAMP - time) from A

select ceil((to_date(sysdate,'yyyy-mm-dd hh24-mi-ss')-to_date(time,'yyyy-mm-dd hh24-mi-ss')*24*60) from A

看一下你的time是什么格式的,如果不是'yyyy-mm-dd hh24-mi-ss'这种格式的
先to_char(time),再把它拼接成是'yyyy-mm-dd hh24-mi-ss'这种格式在用上面的公式
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-18
select floor(to_number(sysdate-to_date(time,'yyyy-mm-dd hh24:mi:ss'))*24*60) as spanMinutes from dual;

是你错了,想减出来的确实是天数,但是这个天数精确到了时分秒,乘以24再乘以60就是分钟数,我实践过,不是瞎说的,不信你自己试试
第2个回答  2012-07-15
select ROUND(TO_NUMBER(time- SYSDATE()) * 24 * 60) FROM TABLE NAME追问

你这样不行的,时间减时间得出的是天数,剩余的小时分钟都没有的

追答

你要先把你的TIME字段转成带时间格式

select ROUND(TO_NUMBER(sysdate - to_date(time,'yyyy-mm-dd hh24:mi:ss')) * 24 * 60)

追问

没用的,相减得出的还是天数,你可以试试,时间减时间得出的是不是天数