欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql 字符串操作(持续更新中)

程序员文章站 2022-05-30 09:22:20
...

拼接

有分隔符 concat_ws(separator, s1, s2, … )

concat_ws(',', 'hello', 'world', 'u')

结果为:hello,world,u

无分隔符 concat(s1, s2, …)

concat('h1', 'h2', 'u')

结果为:h1h2u

截取

substring(str, pos) 从pos位置开始截取

select substring(name, 10) as alias from tab;

从第10位开始截取name字段内容

substring(str, pos, length)从pos位置开始截取length长度的字符

select substring(name, 10, 100) as alias from tab; 

从name字段内容截取第10到100位字符

left|right(str, length) 从左|右截取

select left(name, 10) as alias from tab;
select right(name, 10) as alias from tab;

left:从左开始截取10位
right:从右边开始截取10位

substring_index(str,delim,n) 按关键字截取字符串

(被截取字段,关键字,关键字出现的次数)
n>0,则从开始截取第n个关键字delim之前的所有字符
n<0,则从右边截取第n个关键字delim之后的所有字符
若n=0,则返回空
若关键字不存在,则返回整个字符串

n > 0 从左开始定位关键字,截取0到定位之前的字符串

SELECT id, SUBSTRING_INDEX(id, 'e', 1) AS subId FROM t_result
id subId
00e54ee200a54eacb82b6b2cd08f57e2 00

n < 0 从右开始定位关键字,截取定位之后的所有字符串

SELECT id, SUBSTRING_INDEX(id, 'e', -1) AS subId FROM t_result
id subId
00e54ee200a54eacb82b6b2cd08f57e2 2

n = 0

SELECT id, SUBSTRING_INDEX(id, 'e', 0) AS subId FROM t_result
id subId
00e54ee200a54eacb82b6b2cd08f57e2