greemplum的计算内核是postgresql,所有下面总结的几点也适用于mysql迁移到postgresql
1、时间格式化
mysql: select DATE_FORMAT(now(),'%Y%m%d%H%i%s') =>20160720035809 获取一个日期的年月日小时分钟秒字符串 注:%H表示24小时制
GP: to_char(now(), 'YYYYMMDDHH24MISS') =>20160720155848获取一个日期的年月日小时分钟秒字符串类型
to_date(now(), 'YYYYMMDD') =>20160720155848获取一个日期的年月日小时分钟秒日期类型
to_number(now(),'9999999999')=>20160702获取一个日期的年月日数值类型
to_number(now(),'9999999999999999999')=>20160720155848获取一个日期的年月日小时分钟秒数值类型
注:HH24表示24小时制
数值类型转换时间类型
mysql:select cast(20160501 as datetime)=>2016-05-01 00:00:00
select cast(20160501 as date)=>2016-05-01
GP: select to_timestamp('20160801','YYYYMMDDHH24MISS')=>2016-08-01 00:00:00+08
select 20160801::varchar::TIMESTAMP=>2016-08-01 00:00:00+08
select to_date('20160801','YYYYMMDDHH24MISS')=>2016-08-01
select 20160801::varchar::date=>2016-08-01
获取小时函数
mysql: select hour(now())=>16 获取一个日期的小时
GP: select EXTRACT(HOUR from now()) =>16 获取一个日期的小时
GP衍生:
select EXTRACT(day from now()) 日期
select EXTRACT(dow from now()) 每周的星期号
select EXTRACT(doy from now()) 一年的第几天
select EXTRACT(month from now())月份
select EXTRACT(minute from now())分钟