Hive sql常用函数「建议收藏」

Hive sql常用函数「建议收藏」1.获取当前日期 如2020-13-22 current_date() 或者current_date 获取当前时间:from_unixtime(unix_timestamp()) –>返回格式

Hive sql常用函数

1.获取当前日期 如2020-13-22

current_date() 或者
current_date
获取当前时间
from_unixtime(unix_timestamp()) –>返回格式:yyyy-MM-dd HH:mm:ss
      :
current_timestamp()                  –>返回格式:yyyy-MM-dd HH:mm:ss.xxx

2.时间戳转为日期

from_unixtime(时间戳,string format=yyyy-MM-dd HH:mm:ss)   //实际写出来不需要带string,只是表明格式
–时间戳为10位,H为24小时计数,h为12小时计数
–string format:默认标准格式为 yyyy-MM-dd HH:mm:ss
–其他格式写法多种多样 yyyy-MM-dd HH:mm
–yyyy-MM-dd HH
–yyyy-MM-dd
–yyyyMMdd
–yyyy/MM/dd

3.日期转为时间戳

unix_timestamp(string date=当前时间)   //实际写出来不需要带string,只是表明格式
–默认为获取当前时间戳:
unix_timestamp()
–date的格式必须是
标准格式:”
yyyy-MM-dd HH:mm:ss“,如不符合返回null

4.时间间隔计算  –(理解:date difference日期差异)

datediff(string enddate,string startdate)
–计算方式为:enddate-startdate
–结果为天数

5.保留年月日

to_date(“标准时间格式”)
–结果为如:2020-03-22

6.单独年,月,日

year(format_date)
month(format_date)
day(format_date)
— format_date格式至少包含年月日
— 如year(“2020-03-22”)
— year(“2020-03-22 12:23”)

7.日期增加函数

date_add(string startdate,intdays)
–如:date_add(“2020-03-11”,10) –>2020-03-21

8.日期减少函数

date_sub(string startdate,intdays)
–如:date_add(“2020-03-11”,10) –>2020-03-01

9.截取字符串

substr(str,pos,len)
— 常用于截取字符串时间
— pos从1开始算,不是0

10.条件函数:case when

–如:select case when age<20 then “20岁以下”
when age>=20 and age<30 then “20~30岁”
when age>=30 and age<40 then “30~40岁”
else “40岁以上” end as age_type,
count (distinct user_id) user_num
from user_info
group by …;

11.if函数

if(条件表达式,结果1,结果2) :当条件为真–>结果1,否则结果2
–如:select if (level>5,”高”,”低”) [as level_type] from…

12.对json字符串和map类型的处理

get_json_object(string json_string,string path)
string json_string:列名
string path:用$.key取值
–如:字段: extra1(string): {“systemtype”:”ios”,”education”:”master”,”marriage_status”:”1″,”phone brand”:”iphone X”}
–字段: extra2(map<string,string>): {“systemtype”:”ios”,”education”:”master”,”marriage_status”:”1″,”phone brand”:”iphone X”}
对于json类型:
例如:
SELECT
get_json_object(extra1, “$.phonebrand”) as phone_brand,
count(distinct user_id) user_num
FROM user_info
GROUP BY get_json_object(extra1, “$.phonebrand”);

对于map类型:
例如:select
extra2[“phonebrand”] as phone_brand,
count(distinct user_id) user_num
FROM user_info
GROUP BY extra2[“phonebrand”];
 
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7934.html

(0)
上一篇 2023-03-11
下一篇 2023-03-11

相关推荐

  • 源码编译安装MySQL8.0.20[通俗易懂]

    源码编译安装MySQL8.0.20[通俗易懂]1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装。 2 源码编译安装的相关知识 2.1 make与configure ma…

    2023-02-25
    158
  • Python Setuptools简介

    Python Setuptools简介a href=”https://www.python100.com/a/sm.html”font color=”red”免责声明/font/a a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-08-10
    32
  • Python中FFT的用法与实现

    Python中FFT的用法与实现快速傅里叶变换(FFT)是一种常用的数学算法,其可用于处理基于频率的信号和图像处理应用。在Python中,FFT是由numpy库提供的,可以通过几行简单的代码实现。本文将介绍如何在Python中使用FFT及其实现方式。

    2024-04-30
    68
  • 最全面的MySQL数据库讲解,老杜带你从基础入门mysql「终于解决」

    最全面的MySQL数据库讲解,老杜带你从基础入门mysql「终于解决」数据库软件里面用的比较多的就MySQL了,对于企业还是个人开发者,或者是学生,都是很好的选择,下面为大家带来 MySQL的学习教程,让大家快速入门MySQL数据库,学会安装配置 MySQL ,掌握My

    2023-04-30
    143
  • 莱姆达英文_查询表达式

    莱姆达英文_查询表达式一般查询 db.User.Select(u => u); // 不带条件查询 db.User.Where(u => true); //不带条件查询 db.User.Where(u =&gt

    2023-04-18
    152
  • 想了解下Oracle认证的种类有哪些呢?

    想了解下Oracle认证的种类有哪些呢?要了解ORACLE认证有哪些,首先要清楚什么是Oracle认证,Oracle认证是由Oracle公司,为能够满足对Oracle核心人士需求,颁布并实施的一项权威的服务于支持,并且具有娴熟的专业技术标…

    2023-04-14
    154
  • mysql中sql优化_SQL的优化

    mysql中sql优化_SQL的优化配置慢查询日志 set global slow_query_log = [ON|OFF] set global slow_query_log_file = /sql_log/slowlog.log …

    2022-12-15
    153
  • 初识MySQL数据库「终于解决」

    初识MySQL数据库「终于解决」一 、引言 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住双十一期间全国的购票需求,你怎么写? 由于在同一时段抢票的人数太多,所以你的程序不可能写在一台机器上,应

    2023-05-06
    145

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注