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

 

posted @   Hider1214  阅读(9222)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示