熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracleextract函數抽取時間

2013-11-13 22:15:20  來源: Oracle 

  Sql代碼

  EXTRACT extracts and returns the value of a specified datetime field from a datetime or interval value expression

  The field you are extracting must be a field of the datetime_value_expr or interval_value_expr For example you can extract only YEAR MONTH and DAY from a DATE value Likewise you can extract TIMEZONE_HOUR and TIMEZONE_MINUTE only from the TIMESTAMP WITH TIME ZONE datatype

  eg

  ?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

  Correct:SELECT EXTRACT(HOUR FROM TIMESTAMP ::) FROM DUAL;

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

  Correct:SELECT EXTRACT(MINUTE FROM TIMESTAMP ::) FROM DUAL;

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

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

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

  比如(MINUTE FROM TIMESTAMP to_date(to_char(日期類型YYYYMMDD hh:mi:ss)YYYYMMDD hh:mi:ss))這樣執行不了的

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


From:http://tw.wingwit.com/Article/program/Oracle/201311/18616.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.