我正在用Hive。我有一列字符串,格式如下 11/9/2009 0:00:00
. 我想提取 yyyymm
. i、 我希望上面的字符串是 200909
. 我试过两种不同的方法,都不管用。
我尝试用两种不同的方法转换字符串
concat(year(Column A),lpad(month(Column A),2,0))
convert(datetime, Column A)
对于我接收的第一行代码:所有行中为空
我收到的第二封信是:
遇到:datetime应为:all、case、cast、default、distinct、exists、false、if、interval、not、null、replace、truncate、true、标识符引起的:异常:语法错误
2条答案
按热度按时间r7s23pms1#
使用
unix_timestamp(string date, string pattern)
将给定的日期格式转换为从1970-01-01经过的秒数。然后使用from\u unixtime()转换为所需格式:结果:
阅读: Impala 数据和时间函数和Hive日期函数。
还有一个解决方案,在hive中工作:
qrjkbowd2#
因为我想把字符串转换成yyyymm,所以我必须使用下面对我有用的代码: