1、打开任意一个oracle客户端工具,以plsql为例;
创新互联10多年成都企业网站定制服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,成都企业网站定制及推广,对成都软装设计等多个方面拥有丰富的网站设计经验的网站建设公司。
2、在查询窗口输入以下语句:select to_char(systimestamp, 'yyyy-mm-dd hh24:mi:ss.ff ') from dual;
3、查询结果(其中红框部分为毫秒部分),TIMESTAMP数据类型简介:TIMESTAMP数据类型是DATE的扩展,可以存储年、月、日、小时、分钟、秒,同时还可以存储秒的小数部分。
这个问题。。。。
给你个详细的回答吧 以后就不再担忧这方面的任何问题
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
*/
----------------------------------------
注:天数可以2个日期直接减,这样更加方便
----------------------------------------
--获取两时间月份差
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
*/
--------------------------------------
注:可以使用months_between函数,更加方便
--------------------------------------
--获取两时间年份差
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
参考
--返回当前时间 年月日小时分秒毫秒
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;
用以下代码:
select to_char(systimestamp, 'yyyymmdd hh24:mi:ss.ff ') from dual
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 下午