1. 程式人生 > >GreenPlum學習筆記:date_part與extract提取日期時間、時間差

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

sta 抽取 提取 pan hour 日期時間 str 類型 art

  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

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