常用函数

  • 常用日期函数
  • 常用取整函数
  • 常用字符串操作函数
  • 集合操作函数
  • 多维分析

常用日期函数

unix_timestamp:返回当前或指定时间的时间戳

select unix_timestamp();
+-------------+
|     _c0     |
+-------------+
| 1650871673  |
+-------------+
select unix_timestamp('2022-04-25','yyyy-MM-dd');
+-------------+
|     _c0     |
+-------------+
| 1650844800  |
+-------------+

from_unixtime:将时间戳转为日期格式

select from_unixtime(1650844800);
+----------------------+
|         _c0          |
+----------------------+
| 2022-04-25 00:00:00  |
+----------------------+

current_date:当前日期

select current_date;
+-------------+
|     _c0     |
+-------------+
| 2022-04-25  |
+-------------+

current_timestamp:当前的日期加时间

select current_timestamp;
+-------------------------+
|           _c0           |
+-------------------------+
| 2022-04-25 15:32:29.09  |
+-------------------------+

to_date:抽取日期部分

select to_date('2022-04-25 15:32:29.09');
+-------------+
|     _c0     |
+-------------+
| 2022-04-25  |
+-------------+

year:获取年

select year('2022-04-25 15:32:29.09');
+-------+
|  _c0  |
+-------+
| 2022  |
+-------+

month:获取月

select month('2022-04-25 15:32:29.09');
+------+
| _c0  |
+------+
| 4    |
+------+

day:获取日

select day('2022-04-25 15:32:29.09');
+------+
| _c0  |
+------+
| 25   |
+------+

hour:获取时

select hour('2022-04-25 15:32:29.09');
+------+
| _c0  |
+------+
| 15   |
+------+

minute:获取分

select minute('2022-04-25 15:32:29.09');
+------+
| _c0  |
+------+
| 32   |
+------+

second:获取秒

select second('2022-04-25 15:32:29.09');
+------+
| _c0  |
+------+
| 29   |
+------+

weekofyear:当前时间是一年中的第几周

select weekofyear('2022-04-25 15:32:29.09');
+------+
| _c0  |
+------+
| 17   |
+------+

dayofmonth:当前时间是一个月中的第几天

select dayofmonth('2022-04-25 15:32:29.09');
+------+
| _c0  |
+------+
| 25   |
+------+

months_between: 两个日期间的月份

select months_between('2022-01-25','2022-04-25');
+-------+
|  _c0  |
+-------+
| -3.0  |
+-------+

add_months:日期加减月

select add_months('2022-01-25',+3);
+-------------+
|     _c0     |
+-------------+
| 2022-04-25  |
+-------------+
select add_months('2022-01-25',-3);
+-------------+
|     _c0     |
+-------------+
| 2021-10-25  |
+-------------+

datediff:两个日期相差的天数

select datediff('2022-01-25','2022-04-25');
+------+
| _c0  |
+------+
| -90  |
+------+

date_add:日期加天数

select date_add('2022-04-25',-3);
+-------------+
|     _c0     |
+-------------+
| 2022-04-22  |
+-------------+

date_sub:日期减天数

减负等于加正

select date_sub('2022-04-25',-3);
+-------------+
|     _c0     |
+-------------+
| 2022-04-28  |
+-------------+

last_day:日期的当月的最后一天

select last_day('2022-04-25');
+-------------+
|     _c0     |
+-------------+
| 2022-04-30  |
+-------------+

date_format(): 格式化日期

select date_format('2022-04-25 15:20:17','yyyy/MM/dd HH:mm:ss');
+----------------------+
|         _c0          |
+----------------------+
| 2022/04/25 15:20:17  |
+----------------------+

常用取整函数

round: 四舍五入

select round(3.14);
+------+
| _c0  |
+------+
| 3    |
+------+
select round(3.54);
+------+
| _c0  |
+------+
| 4    |
+------+

ceil: 向上取整

select ceil(3.14);
+------+
| _c0  |
+------+
| 4    |
+------+
select ceil(3.54);
+------+
| _c0  |
+------+
| 4    |
+------+

floor: 向下取整

select floor(3.14);
+------+
| _c0  |
+------+
| 3    |
+------+
select floor(4.14);
+------+
| _c0  |
+------+
| 4    |
+------+

常用字符串操作函数

upper: 转大写

select upper('Hive');
+-------+
|  _c0  |
+-------+
| HIVE  |
+-------+

lower: 转小写

select lower('Hive');
+-------+
|  _c0  |
+-------+
| hive  |
+-------+

length: 长度

select length('Hive');
+------+
| _c0  |
+------+
| 4    |
+------+

trim: 前后去空格

select trim(' Hive ');
+-------+
|  _c0  |
+-------+
| Hive  |
+-------+

lpad: 向左补齐,到指定长度

select lpad('Hive',1,'l');
+------+
| _c0  |
+------+
| H    |
+------+

rpad: 向右补齐,到指定长度

select rpad('Hive',5,'l');
+--------+
|  _c0   |
+--------+
| Hivel  |
+--------+

regexp_replace:使用正则表达式匹配目标字符串,匹配成功后替换!

select regexp_replace('2020/04/25', '/', '-');
+-------------+
|     _c0     |
+-------------+
| 2020-04-25  |
+-------------+

集合操作函数

size: 集合中元素的个数
“map” or “list” is expected at function SIZE
(函数 SIZE 需要“map”或“list”)

select name,deductions from employees;
+-------------------+----------------------------------------------------+
|       name        |                     deductions                     |
+-------------------+----------------------------------------------------+
| John Doe          | {"Federal Taxes":0.2,"State Taxes":0.05,"Insurance":0.1} |
| Mary Smith        | {"Federal Taxes":0.2,"State Taxes":0.05,"Insurance":0.1} |
| Todd Jones        | {"Federal Taxes":0.15,"State Taxes":0.03,"Insurance":0.1} |
| Bill King         | {"Federal Taxes":0.15,"State Taxes":0.03,"Insurance":0.1} |
| Boss Man          | {"Federal Taxes":0.3,"State Taxes":0.07,"Insurance":0.05} |
| Fred Finance      | {"Federal Taxes":0.3,"State Taxes":0.07,"Insurance":0.05} |
| Stacy Accountant  | {"Federal Taxes":0.15,"State Taxes":0.03,"Insurance":0.1} |
+-------------------+----------------------------------------------------+
select size(deductions) from employees;
+------+
| _c0  |
+------+
| 3    |
| 3    |
| 3    |
| 3    |
| 3    |
| 3    |
| 3    |
+------+

map_keys: 返回map中的key

select map_keys(deductions) from employees;
+----------------------------------------------+
|                     _c0                      |
+----------------------------------------------+
| ["Federal Taxes","State Taxes","Insurance"]  |
| ["Federal Taxes","State Taxes","Insurance"]  |
| ["Federal Taxes","State Taxes","Insurance"]  |
| ["Federal Taxes","State Taxes","Insurance"]  |
| ["Federal Taxes","State Taxes","Insurance"]  |
| ["Federal Taxes","State Taxes","Insurance"]  |
| ["Federal Taxes","State Taxes","Insurance"]  |
+----------------------------------------------+

map_values: 返回map中的value

select map_values(deductions) from employees;
+------------------+
|       _c0        |
+------------------+
| [0.2,0.05,0.1]   |
| [0.2,0.05,0.1]   |
| [0.15,0.03,0.1]  |
| [0.15,0.03,0.1]  |
| [0.3,0.07,0.05]  |
| [0.3,0.07,0.05]  |
| [0.15,0.03,0.1]  |
+------------------+

array_contains: 判断array中是否包含某个元素

select name,subordinates from employees;
+-------------------+------------------------------+
|       name        |         subordinates         |
+-------------------+------------------------------+
| John Doe          | ["Mary Smith","Todd Jones"]  |
| Mary Smith        | ["Bill King"]                |
| Todd Jones        | []                           |
| Bill King         | []                           |
| Boss Man          | ["John Doe","Fred Finance"]  |
| Fred Finance      | ["Stacy Accountant"]         |
| Stacy Accountant  | []                           |
+-------------------+------------------------------+
select name,array_contains(subordinates,'Bill King') from employees;
+-------------------+--------+
|       name        |  _c1   |
+-------------------+--------+
| John Doe          | false  |
| Mary Smith        | true   |
| Todd Jones        | false  |
| Bill King         | false  |
| Boss Man          | false  |
| Fred Finance      | false  |
| Stacy Accountant  | false  |
+-------------------+--------+

sort_array: 将array中的元素排序

select name,sort_array(subordinates) from employees;
+-------------------+------------------------------+
|       name        |             _c1              |
+-------------------+------------------------------+
| John Doe          | ["Mary Smith","Todd Jones"]  |
| Mary Smith        | ["Bill King"]                |
| Todd Jones        | []                           |
| Bill King         | []                           |
| Boss Man          | ["Fred Finance","John Doe"]  |
| Fred Finance      | ["Stacy Accountant"]         |
| Stacy Accountant  | []                           |
+-------------------+------------------------------+

多维分析

grouping sets:多维分析

这个建议看其他大佬的文章

Hive常用函数(日期函数,取整函数,字符串操作函数,集合操作函数)相关推荐

  1. SQl函数: 1.取整函数

    SQl函数: 1.取整函数 转载收集学习:https://www.cnblogs.com/fashflying/p/6023036.html SQL中的取整函数FLOOR.ROUND.CEIL.TRU ...

  2. JSON字符串转List集合操作

    场景:        JSON字符串转List集合与List集合转JSON字符串        使用的jar包是fastjson-1.2.41.jar  1.JSON字符串转List集合操作 publ ...

  3. 本题要求实现一个函数,将两个字符串连接起来。(strcat)函数实现

    函数接口定义: char *str_cat( char *s, char *t ); 函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址. 裁判测试程序样例: #includ ...

  4. python字符串函数的find方法_python字符串的方法与操作大全

    一:字符串的方法与操作 *注意:首字母为l的为从左边操作,为r的方法为从右边操作 1.__contains__()判断是否包含 判断指定字符或字符串是否包含在一个字符串内,返回值为true或者fals ...

  5. c#把日期改成数字字符串_C#编写壹个函数将输入的中文日期转换为阿拉伯数字日期...

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Date ...

  6. python3调用函数len结果不返回字符串长度_Python通过len函数返回对象长度

    英文文档: len(s) Return the length (the number of items) of an object. The argument may be a sequence (s ...

  7. [Excel]Excel函数和用法(4)——查找字符串,SEARCH和FIND函数

    区别:SEARCH大小写不敏感,FIND大小写敏感 作用:都是从左到右返回搜索到的字符串的起始位置 SEARCH语法:SEARCH(find_text, within_text, [start_num ...

  8. Hive常用函数大全

    目录 第1章 算数运算 1.1 加法: + 1.2 减法: - 1.3 乘法: * 1.4 除法: / 1.5 取余: % 1.6 位与: & 1.7 位或: | 1.8 位异或: ^ 1.9 ...

  9. oracle中101向上取整,oracle向上取整的函数 oracle除数取整

    excel中取整函数是如何实现的? 让我们看看Excel的舍入问题 !分别使用: 1,int(A1),round directly 2,A1 mod(A1,1),mod(A1,1)是获取小数点的方法 ...

  10. 离散数学【02】——基本结构:集合、函数、序列等

    文章目录 1. 基本结构 2. 集合 2.1 集合相等与子集 2.2 集合的大小 2.3 笛卡尔积 2.4 量词和集合 2.5 集合运算 2.6 接下来是一些零碎的东西 2. 函数 2.1 一对一函数 ...

最新文章

  1. BZOJ 2806 Luogu P4022 [CTSC2012]Cheat (广义后缀自动机、DP、二分、单调队列)
  2. java给qq发消息_QQ发送消息
  3. lambda函数 RUNOOB python练习题49
  4. matlab基础试题,MATLAB基础试题题目及答案,课程2020最新期末考试题库,章节测验答案...
  5. Keil 中的Code, RO-data , RW-data, ZI-data
  6. jep(java表达式分析器)简介
  7. android 后退按钮,如何在android中处理Search View的后退按钮
  8. 设计模式--中介者模式(Mediator)
  9. 多继承下的super()指向的不一定是直接父类
  10. 浅谈压缩感知(二十七):压缩感知重构算法之稀疏度自适应匹配追踪(SAMP)
  11. 如何规范化数据库模型设计
  12. 南京邮电大学电工电子基础B实验三(交流参数的测量)
  13. android 如何自定义桌面,安卓手机桌面设置教程 个性化你的桌面
  14. 【香蕉oi】耍望节(数位DP+倍增优化)
  15. artifactory-pro7 部署以及ladp、nginx配置
  16. 最新版本Portraiture4.1中文版ps磨皮滤镜插件安装包
  17. mysql.server 脚本解析
  18. 项目经理:你来设计一下Redis 故障转移、高可用的方案
  19. Saber cannot find nonlinear system solution 的解决方法
  20. 人工智能--Embedding层

热门文章

  1. linux eap网络,linux – 定期无法连接到WPA2-EAP接入点
  2. 计算机从应用上看向那个方向发展,(总)2019年6月一级Ms Office试题
  3. 2022-2028年中国担保贷款行业市场全景调查及投资潜力研究报告
  4. 老总让做后台接口监控,我却开发了一个App
  5. ce玩家_当玩家选择错误时
  6. Warpaffine
  7. vvebo源码学习(一)
  8. 2021年美赛解题思路汇总Final!!!
  9. Firefox plugin
  10. os-003-protected-mode