GreenPlum學習筆記:date_part與extract提取日期時間、時間差


  GP可以使用date_part / extract從日期時間類型中抽取部分內容。

方法一:extract

  格式:extract(field from source)  extract函數從日期、時間數值里抽取子域,例如年、小時等。

  注意:

  • source的類型type必須為:timestamp、time、interval類型的值,因此date格式必須轉換為timestamp格式
  • field是一個標識符或者字符串,指定所抽取的域
select extract(century from timestamp '2018-08-01 12:12:13'); -- Result:21
select extract(day from timestamp '2018-08-01 12:15:16'); -- Result:01

方法二:date_part

  格式:date_part('field', source)  date_part函數是仿照在傳統的Ingres函數,等效於 SQL 標准函數extract。

  注意:field必須為字符串,可取值century、day、hour、month、minute等等。

select date_part('day', timestamp '2018-08-01 12:15:16'); -- Result: 01

   通過提取之后,將兩個時間值做差即可得到時間差。

select date_part('day','2015-01-15 17:05'::timestamp - '2015-01-13 15:01'::timestamp);
select ('2015-01-15 17:05'::timestamp)::date-('2015-01-13 15:01'::timestamp)::date;

END 2018-08-01 17:23:47

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM