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 --