GreenPlum中自定义时间转换函数

网友投稿 638 2022-09-21

GreenPlum中自定义时间转换函数

GreenPlum中自定义时间转换函数

最近数据库架构调整,一部分业务从MySQL迁移到GreenPlum上去,原来MySQL中自带有unix_timestamp和from_unixtime两个函数可以实现标准时间和UNIX时间的相互转换,翻了下GreenPlun的文档,没有发现有类似的函数,于是便使用python自定义了这两个函数,并在这两个函数的基础上实现了两个业务相关的函数,这里记录一下。

1、首先创建一个python language。 testdb=# create language plpythonu; CREATE LANGUAGE 2、创建unix_timestamp函数,将标准时间转换为UNIX时间 create or replace function unix_timestamp (timestamp_minutes timestamp)  returns float as  $$ import time return time.mktime(time.strptime(timestamp_minutes, '%Y-%m-%d %H:%M:%S')) $$ language plpythonu volatile security definer; 3、创建from_unixtime函数,将UNIX时间转换为标准时间 create or replace function from_unixtime (unix int)  returns timestamp as  $$ import time return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(unix)) $$ language plpythonu volatile security definer; 4、创建业务相关的函数nl_to_timestamp,将标准时间转换为UNIX时间 create or replace function nl_to_timestamp (timestamp_minutes timestamp)  returns float as  $$ select (floor(unix_timestamp($1) / 60) - 22616640) as unixtime $$ language sql; 5、创建业务相关的函数nl_to_date,将UNIX时间转换为标准时间 create or replace function nl_to_date (timestamp_minutes int)  returns timestamp as $$ select from_unixtime(($1 + 22616640) * 60) as datetime $$ language sql; 6、GreenPlum中删除函数需要指定函数的参数类型 testdb=# drop function from_unixtime(int); DROP FUNCTION

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python练习题4.12求满足条件的斐波那契数(python求满足条件的斐波那契数列)
下一篇:RANCID完全安装
相关文章

 发表评论

暂时没有评论,来抢沙发吧~