在 Presto SQL 中将整数值转换为日期



下面是我尝试在Presto中运行的脚本;从我试图转换为日期的整数字段中减去今天的日期。为了获得确切的日子。不幸的是,突出显示的块似乎并不总是正确转换日期,我的最终答案不正确。请有人知道解决此问题的另一种方法或将整数值转换为日期的标准方法。 列中的 Interger 值采用"20191123"格式表示年-月-日期

select ms, activ_dt, current_date, date_diff('day',act_dt,current_date) from 
(   
select ms,activ_dt, **CAST(parse_datetime(CAST(activ_dt AS varchar), 'YYYYMMDD') AS date) as act_dt**, nov19 
from h.A_Subs_1 where msisdn_key=23480320012
) limit 19

您可以将"日期转换为数字"(例如。 2018 年 5 月 27 日20180527(,使用以下方法:

  1. 演员到瓦尔查尔
  2. 使用适当格式parse_datetime
  3. 投射至今(因为parse_datetime返回timestamp(

例:

presto> SELECT CAST(parse_datetime(CAST(20180527 AS varchar), 'yyyyMMdd') AS date);
_col0
------------
2018-05-27

可以使用以下示例查询来满足要求:

select date_diff('day', date_parse('20191209', '%Y%m%d'), current_timestamp);

相关内容

  • 没有找到相关文章

最新更新