Tag Archives: DATE

将TIMESTAMP类型的差值转化为秒的方法

两个TIMESTAMP之差得到的是INTERVAL类型,而有时我们只需要得到两个时间相差的秒数,如果变成INTERVAL之后,想要获取这个值会非常麻烦。 比较常见的方法是使用EXTRACT来抽取获得的INTERVAL类型的日、时、分和秒来分别计算并求和: SQL> CREATE TABLE t_timestamp (id NUMBER, t1 TIMESTAMP, t2 TIMESTAMP); TABLE created. SQL> INSERT INTO t_timestamp 2 VALUES (1, to_timestamp(’20120603222324′, ‘yyyymmddhh24miss’), to_timestamp(’20120526152354’, ‘yyyymmddhh24miss’)); 1 ROW created. SQL> commit; Commit complete. SQL> SELECT t1 – t2 FROM t_timestamp WHERE … Continue reading

Posted in ORACLE | Tagged , , , , | Leave a comment

DATE类型截取到天的效率

在ITPUB上看了一个帖子,根据日期类型对每天的记录进行GROUP BY,帖子的地址如下:http://www.itpub.net/thread-1564295-1-1.html 这种包含全表扫描执行GROUP BY的语句是否还有优化的余地吗,事实上确实还有,因为对于处理日期类型,TO_CHAR并没有TRUNC高效。 下面看一个简单的例子: SQL> CREATE TABLE T_DATE AS 2 SELECT ROWNUM ID, CREATED 3 FROM DBA_OBJECTS A, (SELECT 1 FROM DUAL CONNECT BY ROWNUM < 100) 4 WHERE ROWNUM <= 1000000; TABLE created. SQL> SELECT COUNT(*) FROM T_DATE; … Continue reading

Posted in ORACLE | Tagged , , | Leave a comment