将CURRENT_DATE或UNIX_TIMESTAMP转换为Hive(YYYY-DD-MM格式)的字符串

时间:2018-09-27 17:04:40

标签: date hive hql

我有一个奇怪的数据集,需要在配置单元中访问。使用传统的日期/时间功能(如dateadd等)已被证明是困难/无效的。

我的数据集中有一列是日期为YYYY-MM-DD格式的字符串。

我想知道是否有可能以YYYY-MM-DD格式获取当前日期,并以某种方式将其转换为字符串?

我已经进行了大量研究,并尝试了文档(https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions)中的所有内容

这里的任何帮助将不胜感激,因为我在相当长的时间内一直致力于解决这个问题:)

谢谢!

1 个答案:

答案 0 :(得分:0)

我不知道YYYY-MM-DD格式的日期如何显示,但是您可以在下面尝试。

hive> select cast(from_unixtime(unix_timestamp(cast(current_date() as string), 'yyyy-MM-dd'),'YYYY-MM-DD') as string);
OK
2018-09-271
Time taken: 0.114 seconds, Fetched: 1 row(s)
hive>

from_unixtime接受字符串格式,您可以在此处获得所有选项-https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

希望这会有所帮助。

VIJAY