
SQL强化进阶
文章平均质量分 69
进阶成为终极SQLboy!!!!
KG大数据
这个作者很懒,什么都没留下…
展开
-
hiveSQL的小数取整
目录0- 前言1- 四舍五入取整截取2- 向下取整截取3- 向上取整截取4- 舍弃小数取整5- 举例0- 前言hive 里的向上取整、向下取整、四舍五入取整的实例.以及精确保留小数位数。1- 四舍五入取整截取select round(54.56,0)round至少保留一位小数。55.02- 向下取整截取SELECT FLOOR(54.56)543- 向上取整截取SELECT CEILING(13.15)144- 舍弃小数取整select cast(123.5678 as i原创 2022-01-06 10:34:05 · 1900 阅读 · 0 评论 -
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原创 2021-10-14 15:24:30 · 2787 阅读 · 1 评论 -
hiveSQL中like,not like,rlike, regexp的区别和使用详解(点赞收藏使用!)
目录1-like的使用详解1.1-语法规则1.2-操作类型1.3-使用描述1.4-案例演示1.5-注意事项2-rlike比较符使用详解2.1-语法规则2.2-操作类型2.3-使用描述4-NOT A LIKE B 与 A not like B4-关于like与rlike,not like,like not的使用对比总结5-regexp的用法和rlike一样1-like的使用详解1.1-语法规则格式是A like B,其中A是字符串,B是表达式,表示能否用B去完全匹配A的内容,换句话说能否用B这个表达式原创 2021-09-18 18:30:27 · 9345 阅读 · 1 评论 -
hiveSQL九个常见的易错点(面试吊打!!)
目录0-前言1-正文开始1.1-decimal1.2-lacation1.3-load data 和 load data local1.4-drop 和 truncate1.5-join连接1.6- left semi join1.7- 聚合函数中null值1.8- 运算符中null值1.9- and 和 or0-前言阅读本文小建议:本文适合细嚼慢咽,不要一目十行,不然会错过很多有价值的细节。在进行数仓搭建和数据分析时最常用的就是 sql,其语法简洁明了,易于理解,目前大数据领域的几大主流框架全部都支原创 2021-09-18 14:15:35 · 489 阅读 · 0 评论 -
hiveSQL进阶--11_如何判断一个字段中是否包含指定字符串
目录1-使用函数1.1-locate(字符串,字段名)1.2-like1.3-regexp1-使用函数在这里就直接简单粗暴举例:1.1-locate(字符串,字段名)判断 name 字段中是否包含字符串 “aaa”:select * from temp where locate("aaa", name) > 0;locate(字符串,字段名),如果包含,返回大于0的index位置;否则,返回0;1.2-likeselect '32002,32002,11001,11001,' li原创 2021-09-04 15:55:03 · 4642 阅读 · 0 评论 -
hiveSQL进阶--10__测试一组数据中是否存在某个值
目录0-问题描述1-问题解决2-总结0-问题描述SQL 测试一组数据中是否存在某个值,你想根据某一组行记录里是否包含某个特定值来生成一个布尔值。试想这样一个例子,一个学生在一段时间内会参加若干场考试。假设他每 3 个月会参加 3 场考试。只要他通过了任何一场,将返回一个标志(flag)以表示考试通过。如果 3 场都没有通过,也会返回一个标志以表示考试未通过。有如下数据:create table vasselect 1 student_id, 1 test_id,原创 2021-09-04 15:13:43 · 1012 阅读 · 0 评论 -
SQL进阶--9__ hiveSQL窗口函数应用详细举例总结
目录0-前言1-理解下什么是WINDOW子句(灵活控制窗口的子集)2-准备需要演示的数据3-Windowing functions4-aggregates functions5-Analytics functions0-前言根据官网的介绍,hive推出的窗口函数功能是对hive sql的功能增强,确实目前用于离线数据分析逻辑日趋复杂,很多场景都需要用到。以下就是对hive窗口函数的一个总结附上案例。1-理解下什么是WINDOW子句(灵活控制窗口的子集)PRECEDING:往前FOLLOWING:往原创 2021-08-29 23:10:08 · 457 阅读 · 0 评论 -
SQL进阶--8__ hiveSQL如何判断某个字符是否在字符串中
目录0-需求1-实验2-总结0-需求过滤出字符串中包含某字符的数据1-实验(1)用locate()函数判断【推荐比较高效】我们知道locate()函数可以判断某个字符在字符串中的位置,如果不在该字符串中返回0值,如果在返回字符对应的索引位置。select locate('1','10002,21002,11001,11001')0: jdbc:hive2://10.9.1.212:10000> select locate('1','10002,21002,11001,11001')原创 2021-08-29 15:17:22 · 3127 阅读 · 0 评论 -
SQL进阶--7__ SQL避坑指南之NULL值知多少?
目录0-引言1-数据准备2-NULL值用途3-NULL值研究4-总结0-引言SQL NULL(UNKNOW)是用来代表缺失值或无意义值的术语,在表中的NULL值是显示为空白字段的值,用作不知道数据的具体值,或者不知道数据是否存在,或者数据不存在等情况。NULL值在SQL中普遍存在,想必大多数程序员对其有所了解,但是对于NULL值在SQL中贯穿体现及相关细节,是否会有人注意到呢?本文将对SQL中NULL值的一些使用细节进行研究,让你在使用过程中避开NULL值的坑,从而更加灵活的使用SQL语言。1-数据准原创 2021-08-28 13:53:04 · 529 阅读 · 0 评论 -
SQL进阶--6__如何使用hiveSQL提取JSON中的value值(超级详细!)
如何使用hiveSQL提取JSON中的value值0-需求1-Hive自带的json解析函数2-Hive解析json数组3-总结0-需求在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平台调用数据时,要对埋点数据进行解析。接下来就聊聊Hive中是如何解析json数据的。1-Hive自带的json解析函数(1)get_json_object语法:get_json_object(json_string, ‘$.转载 2021-08-27 21:46:54 · 7790 阅读 · 0 评论 -
SQL进阶--5__如何使用hiveSQL提取JSON中 key值
如何使用HQL提取JSON中 key值0-问题描述1-问题解决2-总结0-问题描述如下json_strjson_str[{“website”:“baidu.com”,“name”:“百度”},{“website”:“google.com”,“name”:“谷歌”}]平时在工作中我们经常会处理json格式的数据串,通常是取json的value值,但是我想获取该json中的每一个key值,如何做,筒子们有遇到过这种需求吗?1-问题解决(1)先将json_str中的[]及{}原创 2021-08-26 19:18:53 · 4575 阅读 · 2 评论 -
SQL进阶--4__如何使用hiveSQL分离字符串中的字符和数字
如何使用HQL分离字符串中的字符和数字0-需求1-数据分析2-总结0-需求如果数据中存在字符和数字混在一起的情况且放在一列中,此时需要将其中的数字数据和字符数据分开,分别单独成为一列,应该怎么做?如下数据: FLINK434354 HADOOP67889 HBASE500019 KAFKA15999 SQOOP13332 HELLO57000 SPARK13000需要将中文名称和数字单独提取出来,得到如下结果 FLINK 434354原创 2021-08-26 16:40:07 · 1183 阅读 · 1 评论 -
SQL进阶--3__如何用hiveSQL删除字符串中多余的字符【详解TRANSLATE()函数】
translate()函数详解0-需求1-数据分析2-总结0-需求删除某个字段中不需要的字符,如某字段为字符串,我需要删除字符串中所有的元音字符,怎么删除?这里举例:给出样例字符串"ABCDEFGHIOUUFEBCAADDEEII",我需要删除该字符串中的元音字符,也就是出现在该字段中包含"AEIOU"任意一个字符都需要删除掉。1-数据分析该需求的难点是需要去匹配"AEIOU"中的每一个字符,匹配出来后再进行删除,而每一个字符串中却包含了元音字符的任意组合,呈现出一定的无规律性,感觉无从下手,面对原创 2021-08-26 15:03:54 · 3618 阅读 · 0 评论 -
SQL进阶--2__如何使用hiveSQL统计字符串中字符的个数
目录0-需求1-分析2-总结0-需求统计在字符串"HELLO HELLO"中出现了多少个LL1-分析分析思路(1) 用regexp_replace()函数将要计算的字符替换为’'select regexp_replace("HELLO HELLO","LL",'')0: jdbc:hive2://10.9.4.117:10000> select regexp_replace("HELLO HELLO","LL",'');+----------+--+| _c0 |+原创 2021-08-26 12:02:39 · 6257 阅读 · 0 评论 -
SQL进阶--1__如何使用hiveSQL遍历字符串
如何使用hiveSQL遍历字符串0-需求1-数据分析2-总结0-需求遍历字符串,并以一个字符一行的形式显示出来如遍历"a,b,c,d,e,f"字符串,使其每个字符都生成一行记录1-数据分析在hive中为我们提供了强大的posexplode()函数,该函数对数组结构的数据进行行转列,并对数组中每一位都生成一个索引值.该函数强大之处就是为数组中每一位生成索引。因此我们可以利用该函数来生成字符串中的每一位的索引,达到遍历的效果。具体如下所示:select posexplode(split('原创 2021-08-25 17:22:50 · 2946 阅读 · 0 评论