原著作者:James Koopmann
TIMESTAMP数据的格式化显示和DATE 数据一样。注意,to_char函数支持date和timestamp,但是trunc却不支持TIMESTAMP数据类型。这已经清楚表明了在当两个时间的差别极度重要的情况下,使用TIMESTAMP数据类型要比DATE数据类型更确切。
如果你想显示TIMESTAMP的小数秒信息,参考下面:
1 SELECT TO_CHAR(time1,''''MM/DD/YYYY HH24:MI:SS:FF3'''') "Date" FROM date_table Date ----------------------- 06/20/2003 16:55:14:000 06/26/2003 11:16:36:000
在上例中,我只现实了小数点后3位的内容。
计算timestamp间的数据差别要比老的date数据类型更容易。当你直接相减的话,看看会发生什么。结果将更容易理解,第一行的17天,18小时,27分钟和43秒。
1 SELECT time1, 2 time2, 3 substr((time2-time1),instr((time2-time1),'''' '''')+7,2) seconds, 4 substr((time2-time1),instr((time2-time1),'''' '''')+4,2) minutes, 5 substr((time2-time1),instr((time2-time1),'''' '''')+1,2) hours, 6 trunc(to_number(substr((time2-time1),1,instr(time2-time1,'''' '''')))) days, 7 trunc(to_number(substr((time2-time1),1,instr(time2-time1,'''' '''')))/7) weeks 8* FROM date_table TIME1 TIME2 SECONDS MINUTES HOURS DAYS WEEKS ------------------------- -------------------------- ------- ------- ----- ---- ----- 06/20/2003:16:55:14:000000 07/08/2003:11:22:57:000000 43 27 18 17 2 06/26/2003:11:16:36:000000 07/08/2003:11:22:57:000000 21 06 00 12 1
这就意味着不再需要关心一天有多少秒在麻烦的计算中。因此,得到天数、月数、天数、时数、分钟数和秒数就成为用substr函数摘取出数字的事情了。
系统日期和时间
为了得到系统时间,返回成date数据类型。你可以使用sysdate函数。
SQL> SELECT SYSDATE FROM DUAL;
为了得到系统时间,返回成timestamp数据类型。你可以使用systimpstamp函数。
SQL> SELECT SYSTIMESTAMP FROM DUAL;
[1] [2] 下一页 [操作系统]Msg:No Update has be found,浏览器打开一片空白 [电脑技术]ms-dos批处理之date、time介绍 [系统软件]EXP-00008: ORACLE error 904 encountered的解决方… [常用软件]PB7 连接 Oracle 的配置方法 [Web开发]oracle Export and Import 简介 [Web开发]ADO访问Oracle结果集的心得 [JAVA开发]JDBC+Hibernate将Blob数据写入Oracle [JAVA开发]J2EE应用中与Oracle数据库的连接 [JAVA开发]Oracle Application Serve_ [其他]HP-UXrx2600B.11.22Uia64安装oracle9i9.2foria64手…
|