欢迎投稿

今日深度:

ORACLE 毫秒与日期的相互转换,oracle相互转换

ORACLE 毫秒与日期的相互转换,oracle相互转换


毫秒转换为日期 

SELECT TO_CHAR(1406538765000 / (1000 * 60 * 60 * 24) +      
        TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') AS CDATE      
 FROM DUAL; 


日期转换毫秒

 SELECT TO_NUMBER(TO_DATE('2014-07-28 17:12:45', 'YYYY-MM-DD HH24:MI:SS') -      
                 TO_DATE('1970-01-01 8:0:0', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60 * 60 * 1000      
  FROM DUAL; 


获取系统当前时间

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;



注意:毫秒转换为日期 格式化的时间可以是12小时制和24小时制。





oracle 中将系统时间转换为毫秒的sql 怎写?

这个问题。。。。
给你个详细的回答吧 以后就不再担忧这方面的任何问题

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......余下全文>>
 

oracle日期类型数据相互转换问题

SQL> select extract(day from (to_date('2012-05-11 15:10:24','yyyy-mm-dd hh24:mi:ss')- to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) day(0) to second(0))*24*60*60
2 +extract(hour from (to_date('2012-05-11 15:10:24','yyyy-mm-dd hh24:mi:ss')- to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) day(0) to second(0))*60*60
3 +extract(minute from (to_date('2012-05-11 15:10:24','yyyy-mm-dd hh24:mi:ss')- to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) day(0) to second(0))*60
4 +extract(second from (to_date('2012-05-11 15:10:24','yyyy-mm-dd hh24:mi:ss')- to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) day(0) to second(0))
5 from dual;

EXTRACT(DAYFROM(TO_DATE('2012-
------------------------------
1336749024
SQL> select to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')+numtodsinterval(1336749024,'SECOND')from dual;

TO_DATE('1970-01-0100:00:00','
------------------------------
2012-5-11 下午 03:10:24

SQL>
以上互为验证,如有帮助请采纳
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2407.html NewsArticle ORACLE 毫秒与日期的相互转换,oracle相互转换 毫秒转换为日期 SELECT TO_CHAR(1406538765000 / (1000 * 60 * 60 * 24) + TO_DATE(1970-01-01 08:00:00, YYYY-MM-DD HH:MI:SS), YYYY-MM-DD HH24:MI:SS) AS CDATE FROM DUAL; 日期转换...
评论暂时关闭