mysql字符串常用函数
一、获取
(1)length(str)
获取字符串的长度
(2)char_length(str)
获取字符数量
(3)locate(sonstr, str) / position(sonstr in str)
找到子串第一次出现的位置(从1开始),如
select locate( '23', '12323'); -- 结果:2 select position('23' in '12323'); -- 结果:2
另外instr也是一样的,只是参数与上面颠倒了一下,instr(str, sonstr),如
select instr('12323', '23'); -- 结果:2
二、大小写转换
(1) lower(str)
转小写
(2)upper(str)
转大写
三、拼接
(1)concat(s1, s2, . . .)
拼接多个字符串
(2)concat_ws(separater, s1, s2, . . . )
用分隔符拼接字符串,如
concat_ws('#', 'a', 'b', 'c'); -- 结果:a#b#c#
四、截取
(1)substring(str, startposition, len)
从startposition(从1开始)开始向后截取len个字符,如
substring("123", 2, 2); -- 结果:23
(2)substring_index(str, separater, num)
如果num>0,代表找到第num个separater,截取左侧部分,如
select substring_index('ab、bc、cd、de、ef', '、',2); -- 取第2个顿号之前的部分,结果:ab、bc
如果num<0,代表找到倒数第num个separater,截取右侧部分,如
select substring_index('ab、bc、cd、de、ef', '、',-2); -- 取倒数第2个顿号之后的部分,结果de、ef
(3)left(str, len)、right(str, len)
从最左侧截取len个字符、从最右侧截取len个字符
left("12345", 3); -- 结果:123 right("12345", 3); -- 结果:345
五、比较、反转、替换
(1)strcmp(s1, s2)
按照字典序进行比较,s1 < s2 返回-1,s1=s2 返回0,s1 > s2 返回1
(2)reverse(str)
反转字符串
(3)replace(str, a, b)
把字符串中的a部分替换成b
select replace('abc33', '3', '$'); -- 结果:abc$$
六、去空白、填充
(1)trim(str)、ltrim(str)、rtrim(str)
去除两侧空白、去除左侧空白、去除右侧空白
trim(' a '); -- 结果:'a' ltrim(' a '); -- 结果:'a ' rtrim(' a '); -- 结果:' a'
(2)lpad(str, size, fillstr)
向字符串左侧填充,直到长度等于size
lpad('abc', 5, '#'); -- 结果:abc##
rpad(str, size, fillstr)
向字符串右侧填充,直到长度等于size
rpad('abc', 5, '#'); -- 结果:##abc
到此这篇关于mysql字符串常用函数的文章就介绍到这了,更多相关mysql字符串函数内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论