Impala十进制值转换成日期
Impala decimal value convert into date
我在 impala 中有一个 table,其中 DATE 值以 YYDDD 格式以十进制格式存储。
例如2020-01-25 存储为 20025 或 2020-12-31 存储为 20365 等。
如何将其转换回 DATE 并与今天的日期或今天与前 12 个月的日期进行比较?
谢谢
经过各种尝试,我能够获得所需的输出。这就是我的管理方式。不是
高效但有效。
concat('1', CAST(date_part('year', date_sub(now(), interval 12 months))-2000 as STRING), case when length(CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING)) = 1 then
concat('00', CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING))
when length(CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING)) = 2 then
concat('0', CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING) )
else CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING)
end) fromdate
我在 impala 中有一个 table,其中 DATE 值以 YYDDD 格式以十进制格式存储。 例如2020-01-25 存储为 20025 或 2020-12-31 存储为 20365 等。 如何将其转换回 DATE 并与今天的日期或今天与前 12 个月的日期进行比较?
谢谢
经过各种尝试,我能够获得所需的输出。这就是我的管理方式。不是 高效但有效。
concat('1', CAST(date_part('year', date_sub(now(), interval 12 months))-2000 as STRING), case when length(CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING)) = 1 then
concat('00', CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING))
when length(CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING)) = 2 then
concat('0', CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING) )
else CAST(dayofyear(date_sub(now(), interval 12 months)) as STRING)
end) fromdate