问题描述
在Postgresql中,我可以使用:
to_char(current_date - 14,'YYYYMMDD')
但是,这不是Hive接受的语法,我找不到该日期格式的正确功能。
有人可以帮忙吗?
解决方法
在Hive中,通常会使用中间转换为unix时间戳:
from_unixtime(unix_timestamp() - 14 * 24 * 60 * 60,'yyyyMMdd')
unix_timestamp()
返回当前日期/时间作为纪元时间戳;您可以减去14天(以秒表示),然后使用from_unixtime()
将结果格式化为目标格式的字符串。
对于Hive版本=> 1.2.0,可以使用date_format函数。 date_sub
功能也可用:
date_format(date_sub(current_date,14),'yyyyMMdd')