Date 将黑斑羚中的儒略日期转换为公历日期
我有一个表,其中日期是朱利安日期,我想将这些日期转换为日历日期 这是一个朱利安日期的样本:2457395 日历日期应为:07012016(DDMMYYYY) 我试图将日期转换为自(1900年1月1日)起的天数,但即使我不知道如何将日期作为输入天数Date 将黑斑羚中的儒略日期转换为公历日期,date,impala,julian-date,Date,Impala,Julian Date,我有一个表,其中日期是朱利安日期,我想将这些日期转换为日历日期 这是一个朱利安日期的样本:2457395 日历日期应为:07012016(DDMMYYYY) 我试图将日期转换为自(1900年1月1日)起的天数,但即使我不知道如何将日期作为输入天数 非常感谢 黑斑羚不支持日期,只支持时间戳;而且它没有很多日期/时间格式功能;所以你需要有创造力,例如 select JULIAN_DATE, adddate('1900-01-01 00:00:00Z', JULIAN_DATE -2415021)
非常感谢 黑斑羚不支持日期,只支持时间戳;而且它没有很多日期/时间格式功能;所以你需要有创造力,例如
select JULIAN_DATE,
adddate('1900-01-01 00:00:00Z', JULIAN_DATE -2415021) as AS_TIMESTAMP,
to_date(adddate('1900-01-01 00:00:00Z', JULIAN_DATE -2415021)) as AS_ISO_DATE_STRING,
from_unixtime(unix_timestamp(adddate('1900-01-01 00:00:00Z', JULIAN_DATE -2415021)), "ddMMyyyy") as AS_DMY_DATE_STRING
from WHATEVER
样本输出:
julian_date as_timestamp as_iso_date_string as_dmy_date_string
----------- ------------------- ------------------ ------------------
2457395 2016-01-07 00:00:00 2016-01-07 07012016
如果是JDE朱利安日期,例如2018年6月12日的118163,则可以使用以下代码 日期添加到时间戳(concat(substr(cast(cast(118162+1900000作为int)作为字符串)、1,4、'01'、'01')、'yyyyMMdd'), 强制转换(子字符串(强制转换(强制转换(118162+1900000为整数)为字符串),5,3)为整数)-1)