将日期从年月日转换为年月日

sqougxex  于 2021-06-24  发布在  Hive
关注(0)|答案(2)|浏览(322)

我有个约会 string 格式 MMM dd, yyyy 我想把它转换成 yy-MMM-dd 格式
Jan 14, 2018 应转换为 18-JAN-14 下面的代码将其转换为 yyyy-mm-dd 福姆塔

select to_date(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy"))) as date

但是,下面的代码返回null

select to_date(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy")), "yy-MMM-dd") as date
b0zn9rqh

b0zn9rqh1#

使用 date_format 要将日期转换为字符串:

> spark.sql("""select date_format(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy")), "yy-MMM-dd") as date""").show
+---------+
|     date|
+---------+
|18-Jan-14|
+---------+
i5desfxk

i5desfxk2#

在Hive里, to_date 不接受格式参数。所需的格式应该是 from_unixtime .

to_date(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy"), "yy-MMM-dd"))

请注意 to_date 只有在配置单元版本2.1.0之前才需要转换,才能转换 string 返回类型,因为更高版本返回 date 类型。

相关问题