码迷,mamicode.com
首页 > 数据库 > 详细

【转】ORACLE中时间类型date和timestamp的相互转化

时间:2018-08-11 15:37:01      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:间隔   to_date   相互转换   注意   span   区别   时间类型   sql   http   



来源:http://www.cnblogs.com/java-class/p/4742740.html

 

date和timestamp 的区别

     date类型是Oracle常用的日期型变量,他的时间间隔是秒。两个日期型相减得到是两个时间的间隔,注意单位是“天”。例如:查看一下当前距离伦敦奥运会开幕还有多长时间:

1 select to_date(2012-7-28 03:12:00‘,yyyy-mm-dd hh24:mi:ss‘)-sysdate from dual

结果是:92.2472685185185天,然后你根据相应的时间换算你想要的间隔就行!这个结果可能对程序员有用,对于想直接看到结果的人,这个数字还不是很直观,所以,就引出了timestamp类型

timestamp是DATE类型的扩展,可以精确到小数秒(fractional_seconds_precision),可以是0 to9,缺省是6。两个timestamp相减的话,不能直接的得到天数书,而是得到,
多少天,多少小时,多少秒等,例如:同样查看一下当前距离伦敦奥运会开幕还有多长时间.

1 select to_timestamp(2012-7-28 03:12:00‘,yyyy-mm-dd hh24:mi:ss‘)-systimestamp from dual

     结果是:+000000092 05:51:24.032000000,稍加截取,就可以得到92天5小时,51分钟,24秒,这样用户看起来比较直观一些!但是这个数字对程序员来说不是很直观了,如果想要具体的时间长度的话,并且精度不要求到毫秒的话,可以将timestamp类型转成date类型,然后直接相减即可。



查询当前系统时间,返回成date数据类型。你可以使用sysdate函数。

SQL> SELECT SYSTIMESTAMP FROM DUAL;

SYSTIMESTAMP
---------------------------------------------------------------------------
11-AUG-18 01.55.07.311630 PM +08:00


查询当前系统时间,返回成timestamp数据类型。你可以使用systimpstamp函数。

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
-------------------
2018-08-11 13:55:14



date和timestamp之间的相互转换可以通过

to_char来转换timestamp——>date:


SQL> select to_date(to_char(systimestamp,‘yyyy-mm-dd hh24:mi:ss‘),‘yyyy-mm-dd hh24:mi:ss‘) from dual
  2  ;

TO_DATE(TO_CHAR(SYS
-------------------
2018-08-11 13:56:27


date ——>timestamp:

SQL> select to_timestamp(to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘),‘yyyy-mm-dd hh24:mi:ss‘) from dual
  2  ;

TO_TIMESTAMP(TO_CHAR(SYSDATE,‘YYYY-MM-DDHH24:MI:SS‘),‘YYYY-MM-DDHH24:MI:SS‘
---------------------------------------------------------------------------
11-AUG-18 01.56.35.000000000 PM

SQL>

【转】ORACLE中时间类型date和timestamp的相互转化

标签:间隔   to_date   相互转换   注意   span   区别   时间类型   sql   http   

原文地址:https://www.cnblogs.com/fengaix6/p/9459632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!