萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> ORACLEEXTRACT函數

ORACLEEXTRACT函數

   ORACLE范例:

  SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;// return Current Year

  SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; //return Current Month

  SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; //return Current Day

  SELECT EXTRACT(HOUR FROM SYSDATE) FROM DUAL;//Error

  SELECT EXTRACT(HOUR FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;// Correct

  SELECT EXTRACT(MINUTE FROM SYSDATE) FROM DUAL;//Error

  SELECT EXTRACT(MINUTE FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;// Correct

  以上是EXTRACT()函數的使用說明,有個很重要的部分.就是extract 抽取年月日部分和時分部分的使用方法是不同的.

  EXTRACT(YEAR FROM SYSDATE)中FROM 的下一個參數是日期類型的時候可以抽取年月日.就是說這個參數是日期類型的時候就可以抽取年月日,而抽取不了時分部分.抽取時分部分得在FROM 後面加帶TIMESTAMP 且後面加時間字符.

  這裡要注意,在(MINUTE FROM TIMESTAMP '2005-10-10 10:10:10')中,如果把'2005-10-10 10:10:10'用日期類型的字段來代替並轉換成字符類型後,也是錯誤的,估計是這方法的問題.

  比如(MINUTE FROM TIMESTAMP to_date(to_char(日期類型,'YYYY-MM-DD hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss')),這樣執行不了的.

  如果真要從日期類型的字段中抽取時分部分用to_char() 函數就可以了.比如to_char(日期類型,'hh24:mi')

copyright © 萬盛學電腦網 all rights reserved