按分隔符分割字符串(DB2/mysql/hive/Oracle)
1、DB2 --substr+locate/instr
DB2没有自己按分隔符分割字符串的函数,只能结合使用
或者在DB2里还可以自己写一个split分割字符串的函数
附:instr函数用法--用来查找指定字符在字符串中出现的位置
DB2中的locate函数可实现同样的功能,用法同instr,只是源字符串和目标字符串的位置换了一下
instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')
INSTR('foobarbar', 'bar')
--4
select instr('abcdefghbc','bc',3) position from dual
--从第三个字符c开始bc出现的位置 --9
select instr('qinyinglianqin','qin', 1, 2) position from dual
--从第一个字符q开始qin第二次出现的位置--12
应用:筛选少数民族名字/按分隔符分割字段
做支付的报表时有一个规则需要把姓名为少数民族的人都选出来
因为少数民族的姓名中间都有一个点,就可以用instr()函数,
INSTR('美丽开木·尼亚孜','·') >0
2、Oracle --REGEXP_SUBSTR
3、hive --split
按分隔符来取元素
按分隔符将字符串分割成一个数组——split
分隔符也可以为字符串,这样很方便截取字段
然后可以访问数组的元素,这样就相当于可以按照分隔符来取字段
4、mysql --substring_index
来源地址:https://blog.csdn.net/yuan_53yuan/article/details/130772040
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341