文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Hive sql常用函数

2016-12-22 04:26

关注

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): {"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"];    
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯