test 表里有两个varchar类型的字段,算他们之间相隔的时间(精确到分钟)。
first_time second_time
2009-10-09 16:17:02 2009-10-09 16:24:47
用select to_date(second_time,'YYYY-MM-DD HH24:MI:SS')-to_date(first_time,'YYYY-MM-DD HH24:MI:SS'))*1440 as time from test where 1=1;
得到time = 7.75我想使结果得到7。该怎么修改。
谢谢。
first_time second_time
2009-10-09 16:17:02 2009-10-09 16:24:47
用select to_date(second_time,'YYYY-MM-DD HH24:MI:SS')-to_date(first_time,'YYYY-MM-DD HH24:MI:SS'))*1440 as time from test where 1=1;
得到time = 7.75我想使结果得到7。该怎么修改。
谢谢。
解决方案 »
- mfc使用oci连接数据详细步骤
- oracle登陆问题
- 如何编写oracle的存储过程、函数?并在java jsp页面中调用?java 调用oracle function出错!!
- 开发oracle上的数据库软件,用c合适还是c++合适?
- 怎么去掉查询结果中的重复记录??????????
- DBMS_CHANGE_NOTIFICATION 问题,100分求答案
- 如何恢复oracle 数据库
- 建立一個服務時指定某一特定的非主ip
- dbca创建数据库的tnsnames.ora问题
- 怎么用脚本给postgresql数据库所有表加同一个字段的索引
- 几道数据库设计面试题,朋友帮忙做下?
- oracle视图问题
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL;
/*
相差豪秒数
----------
86401000
1 row selected
*/--获取两时间的相差秒数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒数 FROM DUAL;
/*
相差秒数
----------
86401
1 row selected
*/--获取两时间的相差分钟数
select ceil(((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) * 24 * 60) 相差分钟数 FROM DUAL;
/*
相差分钟数
----------
1441
1 row selected
*/--获取两时间的相差小时数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24) 相差小时数 FROM DUAL;
/*
相差小时数
----------
25
1 row selected
*/--获取两时间的相差天数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) 相差天数 FROM DUAL;
/*
相差天数
----------
2
1 row selected
*/--获取两时间月份差
select (EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd'))) * 12 +
EXTRACT(month FROM to_date('2008-05-01','yyyy-mm-dd')) - EXTRACT(month FROM to_date('2008-04-30','yyyy-mm-dd')) months
from dual;
/*
MONTHS
----------
13
1 row selected
*/--获取两时间年份差
select EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd')) years from dual;
/*
YEARS
----------
1
1 row selected
*/
加个trunc函数就行了