Hive常用的内置函数

news2024/11/24 17:21:50

文章目录

  • 聚合类
        • 1.指定列值的数目
        • 2.指定列值求和
        • 3.最大值
        • 4.最小值
        • 5.平均值
        • 6.中位数函数
        • 7.分位数函数
  • 数值类
        • 1.取整函数Round(a)
        • 2.指定精度取整ROUND(double a,int b)
        • 3.向上取整FLOOR()
        • 4.向下取整CEIL()
        • 5.随机数 rand()
        • 6.绝对值函数
  • 日期类
        • 获取当前日期
        • 获取当前时间戳
        • 日期前后
        • 日期间隔
        • bigint类型的时间戳
        • 日期转换函数, 只保留 年月日
        • 日期 提取函数
        • 获取年份
        • 提取月份
  • 字符串
        • 计算长度
        • 截取
        • 大写
        • 小写
        • 去除空格
        • 获取url中的域名
        • 获取搜索内容
        • 字符串分割
        • 从map中取值
        • 从string类型的k-v中取值

聚合类

1.指定列值的数目

count()

2.指定列值求和

sum()

3.最大值

max()

4.最小值

min()

5.平均值

avg()

6.中位数函数

percentile(bigint col,p)

7.分位数函数

percentile(bigint col,0.5)

数值类

1.取整函数Round(a)
select rount(99.4567)

在这里插入图片描述
四舍五入计算

2.指定精度取整ROUND(double a,int b)

取b位小数四舍五入

3.向上取整FLOOR()
4.向下取整CEIL()
5.随机数 rand()

值从0-1

6.绝对值函数

abs()

日期类

获取当前日期
select CURRENT_DATE 

2024-07-03

获取当前时间戳
select CURRENT_TIMESTAMP  #### 2024-07-03 11:11:04
日期前后
select date_sub(CURRENT_DATE,1)
select date_add(CURRENT_DATE,1)
日期间隔
select datediff(CURRENT_DATE,'1991-10-04')
select datediff('2024-05-01','1991-10-04')
bigint类型的时间戳
select unix_timestamp('2020-10-01 00:00:00')

1601510400(秒): 从 1970-01-01 00:00:00 到 2020-10-01 00:00:00 过了多少秒

select unix_timestamp()                   

将 bigint 类型的时间戳转换成 我们想要的日期格式

    select from_unixtime(1719976610,'yyyy-MM-dd hh:mm:ss')
    select from_unixtime(1719976610,'yyyy-MM')
日期转换函数, 只保留 年月日
select  to_date('2024-04-09 10:09:45')
日期 提取函数
	year | month | day | hour | minute 
获取年份
select   substr('2024-04-09 10:09:45',1,4)
select  year('2024-04-09 10:09:45')
提取月份
select   substr('2024-04-09 10:09:45',6,2)
select  month('2024-04-09 10:09:45')

字符串

计算长度
select length("abcde")
截取
substr()
大写
upper
小写
lower
去除空格

trim

获取url中的域名

parse_url

select parse_url('https://editor.csdn.net/md?not_checkout=1','HOST')

会返回
editor.csdn.net

获取搜索内容

parse_url

select parse_url('https://editor.csdn.net/md?not_checkout=1','QUERY')

会返回
not_checkout=1

字符串分割
select split('abc,xyz,yyy',',')
从map中取值
select  extra2['systemtype'] from user_info
从string类型的k-v中取值
 select  get_json_object(extra1,'$.systemtype') from user_info

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1888675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java环境配置过程详解(包括IDEA配置Java)】

目录 一、JDK下载安装 1. 官网下载JDK 2. 本地安装JDK 3. 配置环境变量 4. 验证是否安装成功 ​编辑二、IDEA进行安装下载 1. 官网下载 IDEA 2、IDEA进行Java开发 1. 创建Java项目 2. 程序测试 一、JDK下载安装 1. 官网下载JDK 1)官网链接: https://www.o…

IT行业入门,如何假期逆袭,实现抢跑

目录 前言 1.IT行业领域分类 2.基础课程预习指南 3.技术学习路线 4.学习资源推荐 结束语 前言 IT(信息技术)行业是一个非常广泛和多样化的领域,它包括了许多不同的专业领域和职业路径。如果要进军IT行业,我们应该要明确自己…

keyclock实现三方登录

公司希望我把公司的keycloak作为新项目的一种第三方登录方式时,就像微信,google,github,使用keycloak上的账户资源 因此,先需要跟公司keyclock管理员联系,让他把各个端点url,keycloak颁发的cli…

MATLAB将两个折线图画在一个图里

界面如图 输入行数和列数,点击开始填入数据,其中第一列为x值,后面几列,每一列都是y坐标值,填好后点击画在同一张图里即可。点击置零就把所有数变成0,另外也可以选择节点样式。 .mlapp格式的文件如下 夸克…

AI时代的产品经理的成长指南_pdca循环理论制定ai学习成长计划

一、人人不都是产品经理 大多数人听到“产品经理”这个词,总会联想到“人人都是产品经理”这句话。但实际上产品经理这个岗位并没有那么简单。 用一句话概括产品经理的职责就是“帮助团队交付正确产品给用户的人”。也就是说,产品经理要能凝聚团队的力…

归并排序-MergeSort (C语言详解)

目录 前言归并排序的思想归并排序的递归法归并排序的非递归法归并排序的时间复杂度与适用场景总结 前言 好久不见, 前面我们了解到了快速排序, 那么本篇旨在介绍另外一种排序, 它和快速排序的思想雷同, 但又有区别, 这就是归并排序, 如下图, 我们对比快速排序与归并排序. 本…

在线JSON可视化工具--改进

先前发布了JSON格式化可视化在线工具,提供图形化界面显示结构关系功能,并提供JSON快速格式化、JSON压缩、快捷复制、下载导出、对存在语法错误的地方能明确显示,而且还支持全屏,极大扩大视野区域。 在线JSON格式化可视化工具 但…

[Labview] 二维数组写入表格

就一个二维数组写表,CSDN天天让我改进质量 简直是迫害完美主义 天知道Labview有什么思路好写,就一个破连连看(ˉ▽ˉ;)... 随便写点什么碎碎念占字数好了

Linux源码阅读笔记09-进程NICE案例分析1

task_nice task_nice函数功能:获取某个进程的nice值,其中nice值为进程的优先级,与静态优先级有关(nicestatic_prio-120)。 nice的取值范围:-20 ~ 19 内核源码 根据内核的注释可以知道:task_n…

时间12小时和24时转换方法

24小时时间转为12小时制 function convertTo12Hour(time24h){let [hours, minutes] time24h.split(:);let modifier 上午;if (parseInt(hours, 10) > 12) {modifier 下午;hours (parseInt(hours, 10) - 12).toString();}if (parseInt(hours, 10) 12) {modifier 下午;}…

Arduino 与树莓派常用的 IMU 传感器

惯性测量单元(IMU)是一种高度集成的传感器系统,广泛应用于需要高精度运动和姿态信息的领域。某些高精度要求下,还需要辅以温度、气压等其他传感器信息。 一、组成与功能 1. 组成 9 轴 IMU 由三个主要部分组成:3 轴加…

系留无人机+自组网+单兵图传:低空集群组网指挥系统技术详解

低空无人机集群的控制、调度、信息回传需要有高度可靠和稳定的无线通信链路来保障。我国发达的公网基础设施为上述应用创造了良好的条件,但低空应用必须要考虑到在极端情况下公网瘫痪造成的通信链路中断带来的影响,因此有必要在公网之外,寻求…

C语言----文件操作

1.为什么使用文件? 如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化…

Vue85-Vuex的求和案例

一、需求 二、开发 2-1、index.js中vuex的代码 注意: 书写格式:actions中的函数名用小写!mutations中的函数名,用大写。 注意: 2-2、组件count.vue中的代码 2-3、代码优化

oracle数据库无法open,报“ORA-01113 file 1 needs media recovery”错误,教你用“六脉神剑”来开库

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等) 公众号:老苏畅谈运维 欢迎关注本人公众号,更多精彩与您分享。在系统…

Linux:文件系统与日志分析

一、block与inode 1.1、概述 文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区”(sector),每个扇区存储512字节。 一般连续八个扇区组成一个"块”(block),一个块是4K大小,是文件存取的最小单位。 文件数据包括实际数据…

如何在 Odoo 16 中通过函数创建和管理自定义字段

Odoo 几乎为每种功能提供了每种类型的字段。通常,我们为字段定义一个类定义并将其包含在模型中。但是,在某些业务实例中,我们可能需要通过添加新字段从用户界面本身修改模型。在本博客中,让我们研究如何定义自定义字段在视图中的位…

智能数字人系统的主要功能

智能数字人系统或虚拟数字人系统,是指利用人工智能技术构建的虚拟人物形象,能够与人进行自然交互的系统。数字人系统的主要功能包括以下几个方面。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 语言理解与…

从游戏到营销:抽卡机小程序的多维度应用探索

在数字化时代,小程序作为一种轻量级、即用即走的应用形态,正逐步渗透到人们生活的方方面面。其中,抽卡机小程序以其独特的趣味性和互动性,不仅在游戏领域大放异彩,更在营销领域展现出广阔的应用前景。本文将从游戏起源…

RocketMQ实战:一键在docker中搭建rocketmq和doshboard环境

在本篇博客中,我们将详细介绍如何在 Docker 环境中一键部署 RocketMQ 和其 Dashboard。这个过程基于一个预配置的 Docker Compose 文件,使得部署变得简单高效。 项目介绍 该项目提供了一套 Docker Compose 配置,用于快速部署 RocketMQ 及其…