Greenplum时间函数

1.常用计算函数

1.1 获取系统当前日期时间

select 
	current_date -- 返回当前系统日期,格式为yyyy-mm-dd 【2023-04-08】
	,current_time -- 返回当前系统时间,格式为hh24:mi:ss 【14:48:32】
	,current_timestamp -- 返回当前系统时间戳,格式为yyyy-mm-dd hh24:mi:ss 【2023-04-08 14:48:32】
	,now() -- 返回当前系统时间戳,格式为yyyy-mm-dd hh24:mi:ss 【2023-04-08 14:48:32】
	;

1.2日期时间格式转换

select 
   	to_char(current_date,'yyyymmdd') -- 返回当前系统日期,格式为yyyy-mm-dd 【20230408】
    ,to_date('2023-04-26', 'yyyy-mm-dd') -- 将字符串转换成 date 类型的值 【2023-04-26】
    ,date('2023-04-26') -- 将字符串转换成 date 类型的值 【2023-04-26】看字符类型
    ,to_timestamp('2023-04-26', 'yyyy-mm-dd') -- 将字符串转换成 timestamp 类型的值 【2023-04-26 00:00:00】
    ,to_timestamp('2023-04-26 12:30:45','yyyy-mm-dd hh24:mi:ss') -- 将字符串转换成 timestamp 类型的值 【2023-04-26 12:30:45】
    ,to_timestamp('20230426123045','yyyymmddhh24miss')  -- 将字符串转换成 timestamp 类型的值 【2023-04-26 12:30:45】
    ,to_timestamp('2023042612'||'3045','yyyymmddhh24miss')  -- 将字符串转换成 timestamp 类型的值    【2023-04-26 12:30:45】
	,'2023-04-26 16:30:45'::date  		-- 将字符串转换成 date 类型的值  【2023-04-26】
	,'2023-04-26 16:30:45'::time		-- 将字符串转换成  time 类型的值  【16:30:45】
	,'2023-04-26 16:30:45'::timestamp 	-- 将字符串转换成  timestamp 类型的值  【2023-04-26 16:30:45】
;

select 
   	to_char(to_date('2023-04-26','yyyy-mm-dd'), 'yyyy年mm月dd日') -- 将日期/时间类型的值转换成字符串类型  【2023年04月26日】
   	,to_char(to_timestamp('2023-04-26 16:30:45','yyyy-mm-dd hh24:mi:ss'),'yyyy/mm/dd hh24时mi分ss秒 ') -- 将字符串转换成 TIMESTAMP 类型的值  【2023/04/26 16时30分45秒】
	,to_char(to_timestamp('2023-04-26 16:30:45','yyyy-mm-dd hh24:mi:ss'),'hh12miss am') -- 将字符串转换成 TIMESTAMP 类型的值   【043045 pm】
;

1.3加减运算

select 
	-- 减法
   	interval '2 years 3 months 10 days'   -- 创建一个时间间隔 【2 years 3 mons 10 days】
   	,'2023-04-26'::date - '2021-04-26'::date  -- 两个日期直接相减计算天数 【730】
   	,age('2023-04-26', '2021-12-25')  -- 计算两个日期之间的时间差 【1 year 4 mons 1 day】
   	,age('2023-04-26'::date,'2021-12-25'::date)  -- 计算两个日期之间的时间差 【1 year 4 mons 1 day】
   	,age(timestamp '2023-04-26', timestamp '1950-08-01') -- 计算两个日期之间的时间差 【72 years 8 mons 25 days】
   	,age(timestamp '1950-08-01')   -- 从当前系统日期current_date(2023-04-08) 减去参数后的结果 【72 years 8 mons 7 days】
   	-- 加法
   	,'2023-01-19 09:12:00'::timestamp + interval '1 day'  -- 【2023-01-20 09:12:00】
   	,'2023-01-20 09:12:00'::timestamp + interval '4 week' -- 【2023-02-17 09:12:00】
   	,'2023-01-20 09:12:00'::date + interval '3 month' -- 【2023-04-20 00:00:00】
   	,'2023-01-20 09:12:00'::date + interval '1 year'  -- 【2024-01-20 00:00:00】
   	,'2023-01-20 09:12:00'::date + interval '100 year'  -- 【2123-01-20 00:00:00】
;

1.4日期提取

select 
   	date_part('year', date '2023-04-26') -- 【2023】
   	,date_part('month', '2023-04-26'::date) -- 【4】
   	,date_part('week', '2023-04-26'::date) -- 【17】
   	,date_part('day', '2023-04-26 19:20:21'::timestamp) -- 【26】
   	,date_part('month', interval '2 years 3 months 10 days') -- 【3】
;
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值