1、concat_ws

它是一个特殊形式的 CONCAT()

concat_ws(分隔符,参数1,参数2.。。。。。。) as 字段

2、split

返回值为一个数组

a.基本用法:

例1:split('a,b,c,d',',')

得到的结果:["a","b","c","d"]

b.截取字符串中的某个值:

当然,我们也可以指定取结果数组中的某一项

例2:split('a,b,c,d',',')[0]

得到的结果:a

c.特殊字符的处理:

特殊分割符号

regex 为字符串匹配的参数,所以遇到特殊字符的时候需要做特殊的处理

例3:  "." 点

split('192.168.0.1','.')

得到的结果:[]

正确的写法:split('192.168.0.1','\\.')

得到的结果:["192","168","0","1"]

需要注意的是:

当然当split包含在 "" 之中时 需要加4个\

如 hive -e "....  split('192.168.0.1','\\\\.') ... "  不然得到的值是null

同样的 | 等特殊符号也需要做类似 处理。

指定多个分隔符时,多个分隔符使用 | 连接

测试:

drop table test;
create table if not exists test(
name string,
age string,
sex string
)row format delimited fields terminated by ','
lines terminated by '\n'
stored as textfile;
load data local inpath '/usr/test.txt' overwrite into table test;

栗子:想通过分割得到name中的li和i,指定;和-两个分隔符;注意分割之后得到的是一个数组array,下标从0开始

select split(a.name,'-|;')[],split(a.name,'-|;')[] from test a ;

最新文章

  1. Easyui简单布局
  2. Activity通信的第三方库——EventBus
  3. Unity模型导入的若干问题
  4. UTF8-GBK WideCharToMultiByte MultiByteToWideChar
  5. 使用phpmyadmin导入SQL数据报错:#1062 - Duplicate entry '...
  6. uva 11916 Emoogle Grid
  7. Scriptcase演示程序
  8. 个人Python常用Package及其安装
  9. 华为Java笔试题
  10. Ubuntu 12.04 64bit 安装编译GCC 4.1.2 绝对原创
  11. ip001
  12. servlet什么时候被实例化?【转】
  13. C#打印模板设计,E店宝打印模板设置,winfrom打印模板设计,DevExpress.XtraReports.UI.XRTable 表格代码生成。
  14. 自定义Chrome浏览器
  15. php分割中文字符串为数组的简单例子
  16. FuelPHP 系列(五) ------ Security 防御
  17. swiftlint 你所要知道的所有!!
  18. CH#46A 磁力块
  19. spring 默认情况下事务是惟一的 同一个方法里面第一个sql开启后 在执行完 将事务传递给下一个sql
  20. 没有可用的复制构造函数或复制构造函数声明为“explicit”

热门文章

  1. 使用springboot mybatis 查询时实体类中的驼峰字段值为null
  2. malloc,free,calloc,realloc函数
  3. 基于Mybatis-Plus实现自动化操作创建时间和修改时间
  4. 可落地的DDD(4)-如何利用DDD进行微服务的划分(2)
  5. 在Asp.Net Core MVC 3.0 视图运行时编译
  6. C#拼音帮助类
  7. Scrapy框架中的xpath选择
  8. 运维利器1-supervisor
  9. Java之路---Day19(set接口)
  10. 使用input的file进行上传进行预览