GreenPlum学习笔记:date_part与extract提取日期时间、时间差

本文介绍了在GP数据库中如何使用extract和date_part函数从日期时间类型中抽取特定部分,如年份、月份、小时等,并展示了如何计算两个时间值之间的差值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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

 

转载于:https://www.cnblogs.com/hider/p/9402503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值