hive日期函数使用大全
以下hive日期函数百分百满足日常工作使用,请仔细阅读!!
【hive 日期函数 大全】Hive常用日期函数整理注意:1) hive 没有 to_char函数 2) HIVE 日期函数只识别 年-月-日 不能识别 年-月 ,所以处理月份的时候需要特殊处理1)hive 字符创拼接:
CONCAT(string A, string B…)
SELECT CONCAT('2019','05','11');
2) 字符截取
select substr(add_months(from_unixtime((unix_timestamp('2015-09','yyyy-MM')),'yyyy-MM-dd'),-1),0,7);
SELECT SUBSTR(from_unixtime((unix_timestamp('201509','yyyyMM')),'yyyyMMdd'),0,6);
SELECT SUBSTR(from_unixtime((unix_timestamp('201509','yyyyMM')),'yyyy-MM-dd'),0,7);hive (felix)> SELECT from_unixtime(unix_timestamp(cast('201509' as string),'yyyyMM'),'yyyy-MM-dd') ;
2015-09-01
Time taken: 0.06 seconds, Fetched: 1 row(s)
hive (felix)> SELECT from_unixtime(unix_timestamp(cast('201509' as string),'yyyyMM'),'yyyy-MM') ;
2015-09select from_unixtime(unix_timestamp(add_months(from_unixtime((unix_timestamp('201509','yyyyMM')),'yyyy-MM-dd'),-1),'yyyy-MM-dd'),'YYYYMM') time_list3) 时间区间获取4) 中英文日期转换
hive (default)> select from_unixtime((unix_timestamp('201509','yyyyMM')),'MMM-YY');
OK
Sep-15
Time taken: 0.06 seconds, Fetched: 1 row(s)hive (default)> SELECT from_unixtime(unix_timestamp('Sep-19','MMM-YY'),'yyyyMM');
OK
201812
---英文日期大写
hive (default)> select upper(from_unixtime((unix_timestamp('201509','yyyyMM')),'MMM-YY'));
OK
SEP-15
Time taken: 0.062 seconds, Fetched: 1 row(s)1.unix_timestamp()
返回当前时区的unix时间戳
返回类型:bigint
hive (default)> SELECT UNIX_TIMESTAMP();2.from_unixtime(bigint unixtime[,string format])
时间戳转日期函数
返回类型:string
hive (default)> select from_unixtime(unix_timestamp(),'yyyyMMdd') ;
201606143.unix_timestamp(string date)
返回指定日期格式的的时间戳
返回类型:bigint
注意:如果后面只有date参数,date的形式必须为'yyyy-MM-dd HH:mm:ss'的形式。
hive (default)> select unix_timestamp('2020-05-01');
NULL
hive (default)> select unix_timestamp('2020-05-01 00:00:00');
14647104004.unix_timestamp(string date,string pattern)
返回指定日期格式的时间戳
返回类型:bigint
hive (default)> select unix_timestamp('2020-05-01','yyyy-MM-dd');
14493312005.to_date(string date)
返回时间字段中的日期部分 必须是yyyy-MM-dd格式
返回类型:string说明: 返回日期时间字段中的日期部分。只能识别到 “年-月-日” 级别的时间,无法识别 “年-月” 级别的时间。
--1) 注意 使用年月,to_date 日期是识别不了的
hive (default)> select to_date('2016-09'); --有问题,结果为null
OK
NULL
Time taken: 0.067 seconds, Fetched: 1 row(s)hive (default)> select add_months('2020-05-01',-1);
OK
2020-04-01hive (default)> select to_date('2020-05-01 00:00:00') ;
2020-05-01hive (default)> select to_date('2020-05-01');
2020-05-016.year(string date)
返回时间字段中的年
返回类型:int
hive (default)> select year('2020-05-01 00:00:00') ;
2016
hive (default)> select year('2020-05-01') ;
20167.month(string date)
返回时间字段中的月
返回类型:int
hive (default)> select month('2020-05-01') ;
6
hive (default)> select month('2020-05-01');
68.day(string date)
返回时间字段中的天
返回类型:int
hive (default)> select day('2020-05-01') ;
19、day:返回日期中的天select day('2015-04-13 11:32:12');
输出:1310、hour:返回日期中的小时select hour('2015-04-13 11:32:12');
输出:1111、minute:返回日期中的分钟select minute('2015-04-13 11:32:12');
输出:3212、second:返回日期中的秒select second('2015-04-13 11:32:56');
输出:5613.weekofyear(string date)
返回时间字段是本年的第多少周
返回类型:int
hive (default)> select weekofyear('2020-05-01') ;
2214.datediff(string enddate,string begindate)
返回enddate与begindate之间的时间差的天数
返回类型:int
hive (default)> select datediff('2020-05-01','2016-05-01') ;
31
--DEMO 2
hive (default)> SELECT datediff('2020-05-01 00:00:00','2016-05-01 23:00:00');
OK
3115.date_add(string date,int days)
返回date增加days天后的日期
返回类型:string
hive (default)> select date_add('2020-05-01',15) ;
2020-05-1616.date_sub(string date,int days)
返回date减少days天后的日期
返回类型:string
hive (default)> select date_sub('2020-05-01',15) ;
2016-05-1717:Hive中取最近30天数据
datediff(CURRENT_TIMESTAMP ,gmt_create)<=30 18、Hive中 两个日期相差多少小时
select (unix_timestamp('2018-05-25 12:03:55') - unix_timestamp('2018-05-25 11:03:55'))/3600
输出:1
19、Hive中 两个日期相差多少分钟
select (unix_timestamp('2018-05-25 12:03:55') - unix_timestamp('2018-05-25 11:03:55'))/60
输出:6020、hive 计算某一个日期属于星期几,如2018-05-20 是星期日
SELECT IF(pmod(datediff('2018-05-20', '1920-01-01') - 3, 7)='0', 7, pmod(datediff('2018-05-20', '1920-01-01') - 3, 7))
输出:721、hive返回上个月第一天和最后一天
--上个月第一天
select trunc(add_months('2020-05-08',-1),'MM'); --只能识别 年-月-日
select trunc(add_months(CURRENT_TIMESTAMP,-1),'MM')hive (default)> select trunc(add_months('2020-05',-1),'MM');
OK
NULL
Time taken: 0.067 seconds, Fetched: 1 row(s)
hive (default)> select trunc(add_months('2020-05-08',-1),'MM');
OK
2020-04-01
Time taken: 0.079 seconds, Fetched: 1 row(s)
hive (default)> select concat(substr(add_months(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),-1),1,7),'-01'); --上个月最后一天
select date_sub(trunc(CURRENT_TIMESTAMP,'MM'),1);--返回上个月日期
select substr(add_months(from_unixtime((unix_timestamp('2015-09','yyyy-MM')),'yyyy-MM-dd'),-1),0,7);SELECT substr(from_unixtime(unix_timestamp('2020-05','yyyy-MM'),'yyyyMM'),0,4);
hive日期函数使用大全相关推荐
- 【hive 日期函数 大全】Hive常用日期函数整理 史上最全
[hive 日期函数 大全]Hive常用日期函数整理注意:1) hive 没有 to_char函数 2) HIVE 日期函数只识别 年-月-日 不能识别 年-月 ,所以处理月份的时候需要特殊处理1)h ...
- 【hive 日期函数】Hive常用日期函数整理
1.to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12'); 输出:2015-04-02 1 2 2.from_unixtime:转化unix时 ...
- hive日期函数总结
Hive 日期函数 Hive Date Functions 官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+U ...
- Hive日期函数使用
Hive日期函数使用 year month day hour minute second add_months date_add date_sub date_format datediff dayof ...
- Hive的日期函数使用大全
目录 1. date_format 格式化日期 2. date_add, date_sub 日期的加减 3. current_date 获取当前日期 4. current_timestamp 获取当前 ...
- HIVE日期函数大全
转自大神 http://www.oratea.net/?p=944 无论做什么数据,都离不开日期函数的使用. 这里转载一下Hive的日期函数的使用,写的相当完整. 日期函数UNIX时间戳转日期函数: ...
- hive 日期函数_数据分析面试必备——SQL窗口函数你会了吗?
之前写过一篇sql的文章,面向基础的sql操作(无眠:数据分析面试必备--SQL你准备好了吗?),目前已经有12000+收藏(收藏是点赞的5倍,你们可真狠心哪),也可以看出众多同学对sql学习的热情. ...
- hive日期函数转化
1.to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12'); 输出:2015-04-02 1 2 2.from_unixtime:转化unix时 ...
- [转载]Hive日期函数
转自大神 http://www.oratea.net/?p=944 无论做什么数据,都离不开日期函数的使用. 这里转载一下Hive的日期函数的使用,写的相当完整. 日期函数UNIX时间戳转日期函数: ...
最新文章
- 干掉耐克的,绝不会是下一个耐克?
- ant使用指南详细入门教程
- 不定方程(质数与因数)
- filter过滤器_JavaWeb之 Filter(过滤器)
- ECShop如何设置默认的配送方式和支付方式
- 什么是GaussDB
- 使用WiX制作具有时间限制的安装包
- pdo mysql_num_rows_PHP-mysql_num_rows()期望参数1为资源,给定布尔...
- for循环中包含跨服务查询优化
- eviews建立时间序列模型_Eviews教程 Eviews进行时间序列分析教程
- vmware Please make sure that the kernel module `vmmon? is loaded
- 个人数据泄露问题的数据_非个人的个人数据
- win10注册表WOW6432Node
- 攻防演练场景中的加密流量检测技术
- 使用Python代码下载网易音乐歌曲
- Vue h5 调用微信扫码接口
- 解释什么叫老公?什么叫老婆?
- 安徽农业大学计算机信息管理专业,刘连忠 - 安徽农业大学 - 信息与计算机学院...
- zoj 2675 Little Mammoth 圆与四边形的公共面积
- 定点爆破丨千锋老朱最全Springcloud-alibaba课程强势来袭