我在Hive中有一个Customer表(custid bigint,custname字符串,DOB字符串)。 DOB具有不同格式的值(6/17/1969,08 / 22/54,2003年1月11日)。 我要求将不同格式的日期转换为标准化日期格式(MM / dd / yy),并将其存储在Hive中的另一个表中。
答案 0 :(得分:0)
1st -
ANSI / ISO标准是YYYY-MM-DD
当日期用数字表示时,可以解释它们 不同的方法。例如,01/05/12可能意味着2012年1月5日,或 2012年5月1日。在个人层面上,这种不确定性可能非常大 令人沮丧的是,在商业环境中它可能非常昂贵。 组织会议和交付,写合同和购买 当日期不明确时,飞机票可能非常困难。
ISO 8601通过国际化的方式解决了这种不确定性 商定的表示日期的方式:
YYYY-MM-DD
例如,2012年9月27日表示为2012-09-27。
第二 -
如果由于某种原因你使用的是旧的hive版本并且你必须使用字符串来保存日期,我强烈建议避免使用任何其他日期格式,原因有两个:
1.这是日期功能支持的唯一格式
这种格式允许正确的字母比较,例如, -
'2017-01-22'> '2016-09-22'但'01 -22-2017'< '09 -22-2016'