我目前正在使用Hive SQL,我有' timestamp
'格式为"25/Nov/2016:15:48:01 +0000"
的表格中的列。
如何提取11月份的月份?从上面的格式不使用SUBSTRING()函数。
我试过了,
SELECT MONTH(timestamp) FROM table_name;
但它返回null。什么应该是正确的方法来检索11月的' 11月'来自上述时间戳格式。
答案 0 :(得分:2)
请参阅以下example ..
unix_timestamp(time,'dd/MMM/yyyy:HH:mm:ss')
然后尝试你的月份功能
OR
首先将您的时间戳转换为字符串以应用下面的月份函数 例子
string
from_unixtime(bigint unixtime[, string format])
转换 从unix epoch(1970-01-01 00:00:00 UTC)到a的秒数 表示当前系统中该时刻的时间戳的字符串 时区的格式为" 1970-01-01 00:00:00"
然后你可以应用月份函数,它将返回月份int格式,后面可以转换为等效的字符串
int
month(string date)
返回日期或月份的月份部分 时间戳字符串:月份(" 1970-11-01 00:00:00")= 11, 月(" 1970-11-01")= 11。