想要计算字符串类型的两个日期之间的月份,各种函数hive低版本不支持,用下面的语句可以实现:
计算两个日期之间的天数(函数datediff(date1,date2)):
参数是日期格式,如字符串格式可用 from_unixtime(时间戳)转换,unix_timestamp(字符串,’yyyyMMdd‘)课转换成字符串

计算两个日期之间的月份(没有直接计算的函数)可以用下面的方法:
(year(date1)-year(date2))*12+(month(date1)-month(date2))

字符串转换城日期格式
from_unixtime(unix_timestamp('string',yyyyMMdd))

hive中有可以取标准时间的年,月,日,时,分,秒的函数
三个函数:year() month() day()
参数为 year-month-day 时分秒可有可无(根据 “-” 区分年月日的位数不定)


三个函数:hour() minute() second()
参数为 year-month-day hour:minute:second 时分秒可有可无(根据 “-”, “:” 区分年月日时分秒的位数不定



网友评论