重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
select to_date(to_timestamp('09:20:50','hh24.mi.ss am'),'hh24.mi.ss am') - to_date(to_timestamp('09:15:25','hh24.mi.ss am'),'hh24.mi.ss am') from dual;
我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站设计、网站建设服务,我们努力开拓更好的视野,通过不懈的努力,成都创新互联赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,小程序设计,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。
身边没oracle,不确定,你自己试试吧
DATE
包含 世纪、年、月、日、时、分、秒。
占用7个字节,上面每个部分1个字节
TIMESTAMP 日期时间 可以包含到小数秒
TIMESTAMP WITH TIME ZONE 包含时区信息
TIMESTAMP WITH LOCAL TIME ZONE包含时区信息,自动调整
从上面看来,你的这个数据类型, 可以选择 TIMESTAMP
至于如何获取数据, 可以:
SQL SELECT
2 SESSIONTIMEZONE,
3 CURRENT_TIMESTAMP
4 FROM
5 DUAL;
SESSIONTIMEZONE
----------------------------------------
CURRENT_TIMESTAMP
----------------------------------------
-05:00
14-6月 -11 07.28.34.296000 上午 -05:00
也可以
SQL SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;
CURRENT_TIMESTAMP
---------------------------------------------------------
LOCALTIMESTAMP
---------------------------------------------------------
14-6月 -11 09.09.32.609000 下午 +08:00
14-6月 -11 09.09.32.609000 下午
参考
--返回当前时间 年月日小时分秒毫秒
select to_char(current_timestamp(5),'DD-MON-YYYY HH24:MI:SSxFF') from dual;
--返回当前 时间的秒毫秒,可以指定秒后面的精度(最大=9)
select to_char(current_timestamp(9),'MI:SSxFF') from dual;
SQL select sysdate,systimestamp from dual;
SYSDATE
-------------------
SYSTIMESTAMP
---------------------------------------------------------------------------
2013-06-27 12:49:21
27-6月 -13 12.49.21.723000 下午 +08:00
SQL insert into a values(sysdate);
已创建 1 行。
SQL insert into a values(systimestamp);
已创建 1 行。
SQL commit;
提交完成。
SQL select * from a;
ID
--------------------------------------------------------------------
27-6月 -13 12.45.22.000000 下午
27-6月 -13 12.50.15.511000 下午
个人猜测你插入表中的数据是按Insert into a values(sysdate);sysdate微秒都是0 最好以systimestamp插入。
两个数做差 可以按照天计算啊
select to_char(sysdate,'yyyymmdd')-to_char(日期列,'yyyymmdd') from table;
还有要算毫秒的话,可以先转成小时然后分然后转成秒,再*1000就是毫秒了。1秒=1000毫秒。