hive中的udf时间函数⽤法1 from_unixtime函数 ⽤法为将时间戳转换为时间格式
语法: from_unixtime(bigint unixtime[, string format]) 返回值为string
例如 hive>select from_unixtime(1326988805,'yyyyMMddHH') from test;
如果为字段转换的话,则为 select from_unixtime(time,'yyyyMMddHH') from test;
字段time如果为string类型,应该转换为int类型 select from_unixtime(cast(time as int),'yyyyMMddHH') from test;
2
获取当前UNIX时间戳函数: unix_timestamp
语法: unix_timestamp()
返回值: bigint
说明: 获得当前时区的UNIX时间戳
举例:
hive> select unix_timestamp() from dual;
1323309615
⽇期转UNIX时间戳函数: unix_timestamp
语法: unix_timestamp(string date)
返回值: bigint
说明: 转换格式为“yyyy-MM-dd HH:mm:ss“的⽇期到UNIX时间戳。如果转化失败,则返回0。
举例:
hive> select unix_timestamp(’2011-12-07 13:01:03′) from dual;
1323234063
指定格式⽇期转UNIX时间戳函数: unix_timestamp
语法: unix_timestamp(string date, string pattern)
返回值: bigint
说明: 转换pattern格式的⽇期到UNIX时间戳。如果转化失败,则返回0。
举例:
hive> select unix_timestamp(’20111207 13:01:03′,’yyyyMMdd HH:mm:ss’) from dual; 1323234063
⽇期时间转⽇期函数: to_date
语法: to_date(string timestamp)
返回值: string
说明: 返回⽇期时间字段中的⽇期部分。
举例:unix时间戳转换日期格式
hive> select to_date(’2011-12-08 10:03:01′) from dual; 2011-12-08
⽇期转年函数: year
语法: year(string date)
返回值: int
说明: 返回⽇期中的年。
举例:
hive> select year(’2011-12-08 10:03:01′) from dual; 2011
hive> select year(’2012-12-08′) from dual;
2012
⽇期转⽉函数: month
语法: month (string date)
返回值: int
说明: 返回⽇期中的⽉份。
举例:
hive> select month(’2011-12-08 10:03:01′) from dual; 12
hive> select month(’2011-08-08′) from dual;
8
⽇期转天函数: day
语法: day (string date)
返回值: int
说明: 返回⽇期中的天。
举例:
hive> select day(’2011-12-08 10:03:01′) from dual;
8
hive> select day(’2011-12-24′) from dual;
24
⽇期转⼩时函数: hour
语法: hour (string date)
返回值: int
说明: 返回⽇期中的⼩时。
举例:
hive> select hour(’2011-12-08 10:03:01′) from dual;
10
⽇期转分钟函数: minute
语法: minute (string date)
返回值: int
说明: 返回⽇期中的分钟。
举例:
hive> select minute(’2011-12-08 10:03:01′) from dual;
3
⽇期转秒函数: second
语法: second (string date)
返回值: int
说明: 返回⽇期中的秒。
举例:
hive> select second(’2011-12-08 10:03:01′) from dual;
1
⽇期转周函数: weekofyear
语法: weekofyear (string date)
返回值: int
说明: 返回⽇期在当前的周数。
举例:
hive> select weekofyear(’2011-12-08 10:03:01′) from dual;
49
⽇期⽐较函数: datediff
语法: datediff(string enddate, string startdate)
返回值: int
说明: 返回结束⽇期减去开始⽇期的天数。
举例:
hive> select datediff(’2012-12-08′,’2012-05-09′) from dual; 213
⽇期增加函数: date_add
语法: date_add(string startdate, int days)
返回值: string
说明: 返回开始⽇期startdate增加days天后的⽇期。
举例:
hive> select date_add(’2012-12-08′,10) from dual;
2012-12-18
⽇期减少函数: date_sub
语法: date_sub (string startdate, int days)
返回值: string
说明: 返回开始⽇期startdate减少days天后的⽇期。
举例:
hive> select date_sub(’2012-12-08′,10) from dual;
2012-11-28
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论