extract函数取日期的年月日 时分秒

今天无意中接触了下 extract函数,取日期的年 月 日参考如下语句
Select Extract(month from sysdate)as year from dual ;
--取得当前的月份
select extract(month from timestamp'2011-11-12 12:12:12') month from dual;   --取得当前的月份 可以相应的通过month day year取得月份 日子和年份

select extract(month from  to_timestamp(tt.AUDIT_DATE,'yyyy-mm-dd hh24:mi:ss')) month from sys_user tt ;--取得某个表中的某个字段的月份

select timestamp '2011-12-12 12:12:12' from dual--我只是不明白这个sql中的
timestamp 表示什么意思
还有
select date'2011-12-12' from dual
中的date表示什么意思 好像直接转化成了日期了!

可以在timestamp类型的数据中 取得 时分秒


select extract(second from timestamp'2011-11-12 12:12:12') seconde from dual;  
--可以相应的变为minute hour





--获取两个日期之间的具体时间间隔,extract函数是最好的选择  
select extract(day from dt2-dt1) day  
      ,extract(hour from dt2-dt1) hour  
      ,extract(minute from dt2-dt1) minute  
      ,extract(second from dt2-dt1) second  
from (  
     select to_timestamp('2011-02-04 15:07:00','yyyy-mm-dd hh24:mi:ss') dt1  
           ,to_timestamp('2011-05-17 19:08:46','yyyy-mm-dd hh24:mi:ss') dt2  
     from dual)  
/  
       DAY       HOUR     MINUTE     SECOND  
---------- ---------- ---------- ----------  
       102          4          1         46  
--  

猜你喜欢

转载自suixinsuoyu12519.iteye.com/blog/1544046
今日推荐