我的日期为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
答案 0 :(得分:0)
使用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|
+---------+
答案 1 :(得分:0)
在Hive中,to_date
不接受格式参数。所需格式应为from_unixtime
的参数。
to_date(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy"), "yy-MMM-dd"))
请注意,仅需在Hive 2.1.0之前进行to_date
转换才能转换string
的返回类型,因为更高的版本将返回date
的类型。