我相信大家在学习各种语言的时候或多或少听过我们函数或者方法这一类的名词,函数在计算机语言的使用中可以说是贯穿始终,那么大家有没有思考过到底函数是什么?函数的作用又是什么呢?我们为什么要使用函数?其实,简单理解的说,函数就是把我们需要经常使用的代码封装起来,使用的时候直接调用即可。大家可以想想这样的话是不是既提高了效率,又提高了可维护性,在SQL语言中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地提高我们对数据库的管理效率。
MySQL提供了丰富的内置函数,这些函数使得数据的维护与管理更加的方便,能够更好地提供数据的分析与统计功能,在一定程度上提高了开发人员进行数据分析与统计的效率,无论是在我们的日常工作还是学生党们参加大数据相关的比赛,都是必备的知识。
今天,先给各位同志们介绍一下我们最常用的字符串函数,另外有一些不常用的和拓展知识,小编放在了'MySQL函数介绍--字符串函数(二)'中,我们MySQL的内置函数是非常丰富的,小编在这里为大家精心挑选了一些比较常用的字符串函数为大家解释和演示用法与使用场景。
(1)concat(s1, s2, ……, sn)
函数介绍::字符串拼接,将s1,s2,sn拼接成一个字符串
代码演示::
(2)concat_ws(x, s1, s2, ……, sn)
函数介绍:同concat函数,都是对字符串进行拼接、合并,第一个参数'x'为合并字符串时的分隔符
代码演示:
(3)lower(str) || lcase(str)
函数介绍:将字符串str全部转为小写
代码演示:
(4)upper(str) || ucase(str)
函数介绍:将字符串str全部转为大写
代码演示:
(5)lpad(str, n, pad) || rpad(str, n, pad)
函数介绍:lpad: 左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
rpad: 右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
代码演示:
(6)trim(str)
函数介绍:去除字符串头部和尾部的空格
代码演示:
(7)ltrim(str) || rtirm(str)
函数介绍:ltrim: 去除字符串str左侧的空格
rtrim: 去除字符串str右侧的空格
代码演示:
另外,trim函数还有两种用法,分别是trim(leading s1 from s) 和 trim(trailing s1 from s) 这两种写法分别是去除字符串s开始和结尾处的s1,在这里小编就不在(一)中给同志们演示了,大家有兴趣可以看一下'MySQL函数介绍--字符串函数(二)'。
(8)substring(str, start, len)
函数介绍:返回字符串str从start位置起的len个长度的字符串
代码演示:
注意: MySQL的下标索引是从1开始的
(9)char_length(str)
函数介绍:返回字符串str的字符数
代码演示:
(10)length(str)
函数介绍:返回字符串str的字节数,和字符集有关,中文的一个字,返回两个字节
代码演示:
(11)replace(str, a, b)
函数介绍:用字符串b替换字符串str中所有出现的字符串a
代码演示:
(12)reverse(str)
函数介绍:反转字符串str
代码演示:
(13)nullif(str1, str2)
函数介绍:比较两个字符串,如果str1与str2相等,则返回NULL,否则返回str1
代码演示:
(14)instr(str, s)
函数介绍:返回字符串中子字符串第一次出现的位置如果在str中找不到子字符串,则instr()函数返回零(0)
代码演示:
使用场景:由于同志们可能联想不到这个函数的具体使用场景,所以小编在这里给大家举个栗子
假设现在需要你查询包含'car'关键字的产品,那么你就可以使用这个函数
select productName
from products
where instr(productName, 'car') > 0;