Hive常用函数大全-字符串函数
时间:2021-07-21
本文章向大家介绍Hive常用函数大全-字符串函数,主要包括Hive常用函数大全-字符串函数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 1、字符串长度函数:length(X)(返回字符串X的长度) 2 select length('qwerty') from table --6 3 4 2、字符串反转函数:reverse(X)(返回字符串X反转的结果) 5 select reverse('qwerty') from table --ytrewq 6 7 3、字符串连接函数:concat(X,Y,...)(返回输入字符串连接后的结果,支持任意个输入字符串连接) 8 select concat('abc','qwe','rty') from table --abcqwerty 9 10 4、带分隔符字符串连接函数:concat_ws(X,y,Z)(返回输入字符串连接后的结果,X表示各个字符串间的分隔符) 11 select concat_ws('/','abc','qwe','rty') from table --abc/qwe/rty 12 13 5、字符串截取函数:substr(X,Y,Z)/substring(X,Y,Z)(返回字符串X从Y位置开始,截取长度为Z的字符串) 14 select substr('qwerty',1,3) from table --qwe 15 16 6、字符串转大写函数:upper(X)/ucase(X)(返回字符串X的大写格式) 17 select upper('qwERt') from table --QWERT 18 select ucase('qwERt') from table --QWERT 19 20 7、字符串转小写函数:lower(X)/lcase(X)(返回字符串X的小写格式) 21 select lower('qwERt') from table --qwert 22 select lcase('qwERt') from table --qwert 23 24 8、去空格函数:trim(X)(去除X字符串两边的空格) 25 select trim(' qwe rty uiop ') from table --'qwe rty uiop' 26 左边去空格函数:ltrim(X)(去除X字符串左边的空格) 27 select ltrim(' qwe rty uiop ') from table --'qwe rty uiop ' 28 右边去空格函数:rtrim(X)(去除X字符串右边的空格) 29 select rtrim(' qwe rty uiop ') from table --' qwe rty uiop' 30 31 9、正则表达式替换函数:regexp_replace(X,Y,Z)(将字符串X中的符合java正则表达式Y的部分替换为Z:将X中与Y相同的字符串用Z替换) 32 select regexp_replace('foobar', 'o|ar', '234') from table --f234234b234 33 34 10、正则表达式解析函数:regexp_extract(X,Y,Z)(将字符串X按照Y正则表达式的规则拆分,返回Z指定的字符) 35 select regexp_extract('foothebar', 'foo(.*?)bar', 0) from table --foothebar 36 select regexp_extract('foothebar', 'foo(.*?)bar', 1) from table --the 37 select regexp_extract('foothebar', 'foo(.*?)bar', 2) from table --bar 38 39 11、URL解析函数:parse_url(X,Y,Z)(返回URL中指定的部分。X的有效值为:HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, and USERINFO) 40 select parse_url('https://www.iteblog.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST') from table --www.iteblog.com 41 select parse_url('https://www.iteblog.com/path1/p.php?k1=v1&k2=v2#Ref1', 'QUERY','k1') from table --v1 42 43 12、json解析函数:get_json_object(X,Y)(解析json的字符串X,返回Y指定的内容) 44 例:X='[{"height":540,"size":79466,"width":960,"card_info":{"title":"超火热门小说","mp_tag_type":0,"head_desc_type":2,"pure_color_rgb":"#643C15","font_color":"#FFFFFF"}}]' 45 select get_json_object(substr(X,2,length(crt_info)-2), '$.card_info.pure_color_rgb') as color_rgb from table --#643C15 46 select get_json_object(substr(X,2,length(crt_info)-2), '$.size') as size_ from table --79466 47 48 13、空格字符串函数:space([int] X)(返回长度为X的字符串) 49 select space(10) from table --空 50 select length(space(10)) from table --10 51 52 14、重复字符串函数:repeat(X,Y)(返回重复Y次后的X字符串) 53 select repeat('abc',3) from table --abcabcabc 54 55 15、首字符ascii函数:ascii(X)(返回字符串X首字符的ascii码) 56 select ascii('abcde') from table --97 57 58 16、左补足函数:lpad(X,Y,Z)(将字符串X左补足到Y位:将字符串Z填充在字符串X的左边,直至字符串长度为Y) 59 备注:左补足时,补足的字符串Z要倒序补足 60 select lpad('abc',6,'wq') from table --wqwabc 61 右补足函数:rpad(X,Y,Z)(将字符串X右补足到Y位:将字符串Z填充在字符串X的右边,直至字符串长度为Y) 62 select rpad('abc',6,'wq') from table --abcwqw 63 64 17、分割字符串函数: split(X,Y)(将字符串X按照Y字符串进行分割,返回分割后的字符串数组) 65 select split('abcabcabc','b') from table --["a","ca","ca","c"] 66 67 18、集合查找函数: find_in_set(X,Y)(返回X在Y第一次出现的位置,Y是用逗号分割的字符串。如果没有找该X字符,则返回0) 68 select find_in_set('as','ad,af,as,ag') from table --3 69 select find_in_set('ak','ad,af,as,ag') from table --0
原文地址:https://www.cnblogs.com/ZeroITStudy/p/15038562.html
- 可视化(番外篇)——SWT总结
- 新年必看!预测2018年将是区块链爆发的行情
- 探秘Tomcat(一)——Myeclipse中导入Tomcat源码
- 解决Myeclipse下Debug出现Source not found以及sql server中导入数据报错
- Hadoop阅读笔记(七)——代理模式
- 认识ASP.NET MVC的5种AuthorizationFilter
- 2017十大“最差”密码出炉
- SVG图形绘制入门第一弹
- 使用自定义标记来构建页面
- ASP.NET MVC集成EntLib实现“自动化”异常处理[实例篇]
- ASP.NET Core管道深度剖析(2):创建一个“迷你版”的管道来模拟真实管道请求处理流程
- 机器学习实战之决策树
- 初学ReactJS,写了一个RadioButtonList组件
- 今天,你有微信小游戏提交审核吗?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- React 学习笔记(基础篇)
- 前端性能优化《一》——Chrome Performance 页面性能调试
- 【Vue 进阶】从 slot 到无渲染组件
- 一个合格的中级前端工程师应该掌握的 20 个 Vue 技巧
- Vue 3 任意传送门——Teleport
- @JsonCreator自定义反序列化函数-JSON框架Jackson精解第5篇
- 不靠谱的 console
- 使用ThreadLocal和ArgumentResolver方便开发
- 【Java8新特性】05 使用Optional取代null
- 在不被spring容器管理的类中使用ApplicationContext应用上下文bean
- Spring boot 在静态类中注入spring组件
- Spring boot 自定义配置文件
- 数据分析 常见技巧和经验总结
- Go by Example 中文版: Base64 编码
- Django3.0+supervisor+uvicorn+nginx进行线上部署