首页 > 其他分享 >hive 日期YYYY显示异常总结

hive 日期YYYY显示异常总结

时间:2022-11-24 01:44:06浏览次数:66  
标签:00 12 format hive YYYY 日期 2020 YYYYMMddHHmmss

总结下hive y 和 Y 的区别

y/Y Meaning 解释
y year-of-era 元年,我们平时理解的年;20221231认为是2022年
Y week-based-year 基于周的年,只要日期那周跨年,都算下一年;2020-12-27周日,这周跨年,认为是2021年

问题记录

做数据验证发现数据异常;在执行以下hql在年底的时候会多加一年:

> select date_format('2020-12-31 00:00:00','YYYYMMddHHmmss'); 
20211231000000

使用不同日期反复排查验证,发现2020年底分界线是26号(周六,一周的结束);20201226之前的都能正常转换,20201227(周一,一周的开始)之后的都会多加1年;

> select date_format('2020-12-26 00:00:00','YYYYMMddHHmmss'); 
20201226000000
> select date_format('2020-12-27 00:00:00','YYYYMMddHHmmss'); 
20211227000000

查询hive文档得知YYYY(大写的Y)是基于周的年,指定日期的那周只要跨年了,就会算进下一年;
[https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF]

标签:00,12,format,hive,YYYY,日期,2020,YYYYMMddHHmmss
From: https://www.cnblogs.com/Nov13/p/16920654.html

相关文章