zhaoyongzhu(zhaoyongzhu) 的就是分钟数啊,如果不想要小数 可以trunc()掉小数部分 SQL> select (sysdate-to_date('2002-11-10','yyyy-mm-dd'))*24*60 from dual;(SYSDATE-TO_DATE('2002-11-10','YYYY-MM-DD'))*24*60 -------------------------------------------------- 6718.65SQL> select trunc((sysdate-to_date('2002-11-10','yyyy-mm-dd'))*24*60) from dual;TRUNC((SYSDATE-TO_DATE('2002-11-10','YYYY-MM-DD'))*24*60) --------------------------------------------------------- 6718
INTERVAL data types are used to store the difference between two datetime values. You specify the interval data types by using the syntax: INTERVAL <interval qualifier> Examples: INTERVAL YEAR TO MONTH INTERVAL DAY (6) TO SECOND (5)
同上 mydatetime存储是到秒的,相减的时候也是计算到秒的
谢谢各位 我在JAVA中执行: select floor((sysdate-mytime)*24*60) as mytime from mytable 再用rs.getString("mytime")或rs.getInt("mytime") 取出的结果都是0,但在SQLPLUS中直接执行那条SQL, mytime都是大于0的整数 这是为什么????
eg: select trunc((sysdate- TO_DATE('2002111412:11', 'YYYYMMDDHH:MI'))*24*60,0) from dual
select trunc((sysdate- TO_DATE('2002111412:11', 'YYYYMMDDHH:MI'))*24*60,0) from dual
select mydatetime-sysdate from mytable
确实可以出东西,但都是小数
我想得到他们两者直接相差的分钟数应该怎么办呢?
用zhaoyongzhu(zhaoyongzhu) 写的就可以啊。
可以trunc()掉小数部分
SQL> select (sysdate-to_date('2002-11-10','yyyy-mm-dd'))*24*60 from dual;(SYSDATE-TO_DATE('2002-11-10','YYYY-MM-DD'))*24*60
--------------------------------------------------
6718.65SQL> select trunc((sysdate-to_date('2002-11-10','yyyy-mm-dd'))*24*60) from dual;TRUNC((SYSDATE-TO_DATE('2002-11-10','YYYY-MM-DD'))*24*60)
---------------------------------------------------------
6718
mydatetime存储是到秒的,相减的时候也是计算到秒的
我在JAVA中执行:
select floor((sysdate-mytime)*24*60) as mytime from mytable
再用rs.getString("mytime")或rs.getInt("mytime")
取出的结果都是0,但在SQLPLUS中直接执行那条SQL,
mytime都是大于0的整数
这是为什么????