mysql, 什么是mysql拼接字符串?不知道小伙伴们今天来看看边肖的分享吧!
1.Oracle数据库通过分隔符分割字符串。
1、应用功能
REGEXP_SUBSTR
2.语法
REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
3、参数解释
__srcstr:需要正则化的字符串。
__pattern:匹配的正则表达式。
__position:起始位置,从正则表达式匹配的第一个字符开始(默认为1)。
__occurrence:标识它是哪个匹配组;默认值为1。
__modifier: mode (I搜索不区分大小写;c区分大小写的搜索。默认值为c .)
4.测试SQL
select regexp_substr(1,2,3,[^,]+,1,1) result from dual;
运行结果:
1select regexp_substr(1,2,3,[^,]+,1,1) result from dual;
5. Use of REGEXP_SUBSTR connection mode
通过分隔符拆分字符串通过动态参数连接测试SQL:
SELECT
REGEXP_SUBSTR (1,2,3,4,5, [^,]+, 1,ROWNUM)
FROM dual
CONNECT BY ROWNUM=LENGTH( 1,2,3,4,5 ) - LENGTH(regexp_replace(1,2,3,4,5, )) + 1
2.hive数据库通过分隔符拆分字符串。
1、split()函数
定义
split()函数用于拆分数据,即将一个字符串剪切成一个数组。
语法
Syntax: split (string str, string pat) return value: array type arrangement
参数解释
String str:要分段的字符串string pat:分隔符。
测试SQL:
select split (wo,shi,xiao,ming,);
运行结果:
[wo,shi,xiao,ming]
2. Explosion function
定义
Explode()函数是一个分解行的函数,它将一行数据拆分成一列。
语法
Decomposition (array/map type) Select explode(array_col) from the table name as new_col
测试SQL:
select explode(array(wo,shi,xiao,ming)) as word;
运行结果:
wo
shi
xiao
ming
爆炸功能的限制
不能关联原始表中的其他字段。
Cannot be combined with grouping basis, classification basis, distribution basis and sorting basis.
不允许UDTF嵌套。
参数只能是两种类型。
选择后只能获得一个由分解生成的视图。如果要显示多个列,则需要合并多个视图。
3. Side view
定义:
侧视图与UDTF功能(分解、分割)结合使用。
首先通过UDTF函数将其拆分成多行,然后将多行的结果组合成一个支持别名的虚拟表。虚拟表相当于与主表再次关联,从而达到添加UDTF生成的字段以外的字段的目的,即主表中的字段或主表操作后的字段。
主要解决select使用UDTF作为查询时,查询只能包含单个UDTF,不能包含其他字段,以及多个udtf的问题。
语法:
lateral view UDTF(expression) table_view as new_column;
参数解释:
UDTF(expression):复合逻辑规则的UDTF函数,最常用的explode
table_view : 对应的虚拟表的表名
new_col: 虚拟表里存放的有效字段
测试:
select col_type -- 已拆分数据
from table_name
lateral view explode(split(col,)) t as col_type --col 为需要拆分的字段
mysql,以上就是本文为您收集整理的mysql最新内容,希望能帮到您!更多相关内容欢迎关注。