当前位置:网站首页>MySQL --- 常用函数 - 字符串函数
MySQL --- 常用函数 - 字符串函数
2022-07-06 18:52:00 【小雪菜本菜】
函数
MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。
MySQL 包含了大量并且丰富的函数,咱们讲解几十个常用的,剩下的比较罕见的函数我们可以到「MySQL 参考手册」查询。
字符串函数
| 函数 | 作用 |
| UPPER(列|字符串) | 将字符串每个字符转为大写 |
| LOWER(列|字符串) | 将字符串每个字符转为小写 |
| CONCAT(str1,str2,. . . ) | 将所有字符串连接成一个字符串 |
| REPLACE(列|字符串,旧字符串,新字符串) | 使用新字符串替换旧字符串 |
| LENGTH(列|字符串) | 求字符串长度 |
| SUBSTR(列|字符串,开始点[,长度]) | 字符串截取 |
| LEFT(str,len) | 获取字符串左边len个字符组成的字符串 |
| RIGHT(str,len) | 获取字符串右边len个字符组成的字符串 |
| MID(str,pos,len) | 获取字符串中从pos(第几个)位置开始,长度为len的字符串 |
| ASCII(字符) | 返回与指定字符对应的十进制整数 |
| CHR(数字) | 返回与整数对应的字符 |
RPAD(列|字符串,长度,填充字符) LPAD(列|字符串,长度,填充字符) | 用指定的字符在字符串右或左填充 |
| LTRIM(字符串)、RTRIM(字符串) | 去掉字符串左或右的空格 |
| TRIM(列|字符串) | 去掉字符串左右空格 |
| INSTR(列|字符串,要查找的字符串,开始位置,出现位置) | 查找一个子字符串是否在指定的位置上出现 |
| UPPER(列|字符串) | 将字符串每个字符转为大写 |

如果用 emp 表可以发现测试数据输出了很多次,因为 emp 表中有很多条数据,每一条数据都要执行一下

使用MySQL中的虚拟表,只有一行数据,正好可以用来进行测试函数,也可以不写
可以发现:如果大小写相结合,使用 LOWER 后全部变成小写
| CONCAT(str1,str2,. . . ) | 将所有字符串连接成一个字符串 |
字符串用单引号和双引号都可以
如果字符串中有引号 ' ' ',需要用转义字符 ' \ ' 进行转义

| REPLACE(列|字符串,旧字符串,新字符串) | 使用新字符串替换旧字符串 |

| LENGTH(列|字符串) | 求字符串长度 |

获取字符串左边 2 个字符组成的字符串、获取字符串右边 2 个字符组成的字符串、获取字符串中间 2 个字符组成的字符串
| LEFT(str,len) | 获取字符串左边len个字符组成的字符串 |
| RIGHT(str,len) | 获取字符串右边len个字符组成的字符串 |
| MID(str,pos,len) | 获取字符串中从pos(第几个)位置开始,长度为len的字符串 |
SELECT LEFT('hello',2),RIGHT('hello',2),MID('case',2,2);
| ASCII(字符) | 返回与指定字符对应的十进制整数 |
| CHR(数字) | 返回与整数对应的字符 |
SELECT ASCII('A');
SELECT CHAR(65);
RPAD(列|字符串,长度,填充字符) LPAD(列|字符串,长度,填充字符) | 用指定的字符在字符串右或左填充 |
SELECT RPAD('Hello',10,'*'),LPAD('Hello',10,'*');

在左右两边各填充 5 个 ' * ',先填充右边,把整个当成一个字符串,在前面填充 ' * '
SELECT LPAD(RPAD('Hello',10,'*'),15,'*');
| LTRIM(字符串)、RTRIM(字符串) | 去掉字符串左或右的空格 |
| TRIM(列|字符串) | 去掉字符串左右空格 |
SELECT LTRIM(' 123 *') 左,RTRIM('* 123 ') 右,TRIM(' 123 ') AS 'All';
不能去掉字符串中间的空格

| INSTR(列|字符串,要查找的字符串,开始位置,出现位置) | 查找一个子字符串是否在指定的位置上出现 |
SELECT INSTR('我爱C语言','C语言');
没有查找到的情况

1.把员工姓名首字母大写 Smith
SELECT UPPER(LEFT(ename,1)) FROM emp;
SELECT UPPER(LEFT(ename,1)),LOWER(SUBSTR(ename,2)) FROM emp;
SELECT CONCAT(UPPER(LEFT(ename,1)),LOWER(SUBSTR(ename,2))) FROM emp;
2.查询出姓名长度是 5 的所有员工信息 或者使用模糊查询 LIKE MySQL --- 数据库查询 - 条件查询_小雪菜本菜的博客-CSDN博客
SELECT * FROM emp WHERE LENGTH(ename)=5;

3.查询出员工姓名前三个字母是'JAM'的员工,截取开始点和长度
SELECT * FROM emp WHERE SUBSTR(ename,1,3)='JAM';
4.查询所有员工信息,但是不显示姓名的前三个字母
| SUBSTR(列|字符串,开始点[,长度]) | 字符串截取 |
SELECT ename 原始字符串,SUBSTR(ename,3) AS '子串' FROM emp;
查询所有员工信息,但是只显示姓名的后三个字母
| SUBSTR(列|字符串,开始点[,长度]) | 字符串截取 |
SELECT ename 原始字符串,SUBSTR(ename,-3) AS '子串' FROM emp;
边栏推荐
- Web3's need for law
- 压缩 js 代码就用 terser
- Lombok makes the pit of ⽤ @data and @builder at the same time
- 【软件测试】最全面试问题和回答,全文背熟不拿下offer算我输
- Lumion 11.0软件安装包下载及安装教程
- Collection recommandée!! Quel plug - in de gestion d'état flutter est le plus fort? Regardez le classement des manons de l'île, s'il vous plaît!
- MFC Windows 程序设计[147]之ODBC数据库连接(附源码)
- leetcode:736. LISP syntax parsing [flowery + stack + status enumaotu + slots]
- Fundamentals of process management
- unity webgl自适应网页尺寸
猜你喜欢

Douban average 9 x. Five God books in the distributed field!

Lidar: introduction and usage of ouster OS

Detailed explanation of line segment tree (including tested code implementation)
![[paper reading | deep reading] dngr:deep neural networks for learning graph representations](/img/8e/41a80131c6ec7a7cdffe4a77012fed.png)
[paper reading | deep reading] dngr:deep neural networks for learning graph representations

postgresql之integerset
![[unity] upgraded version · Excel data analysis, automatically create corresponding C classes, automatically create scriptableobject generation classes, and automatically serialize asset files](/img/20/f7fc2204ca165dcea4af25cb054e9b.png)
[unity] upgraded version · Excel data analysis, automatically create corresponding C classes, automatically create scriptableobject generation classes, and automatically serialize asset files

This week's hot open source project!

1个月增长900w+播放!总结B站顶流恰饭的2个新趋势

Web3的先锋兵:虚拟人
![leetcode:736. LISP syntax parsing [flowery + stack + status enumaotu + slots]](/img/0d/e07fe970167368040eb09b05c3682e.png)
leetcode:736. LISP syntax parsing [flowery + stack + status enumaotu + slots]
随机推荐
【论文阅读|深读】RolNE: Improving the Quality of Network Embedding with Structural Role Proximity
Use of pgpool II and pgpooladmin
New generation cloud native message queue (I)
C#/VB.NET 删除Word文档中的水印
安德鲁斯—-多媒体编程
PCL 常用拟合模型及使用方法
B站6月榜单丨飞瓜数据UP主成长排行榜(哔哩哔哩平台)发布!
1 -- Xintang nuc980 nuc980 porting uboot, starting from external mx25l
Draco - glTF模型压缩利器
Decryption function calculates "task state and lifecycle management" of asynchronous task capability
Pioneer of Web3: virtual human
【Unity】升级版·Excel数据解析,自动创建对应C#类,自动创建ScriptableObject生成类,自动序列化Asset文件
3--新唐nuc980 kernel支持jffs2, Jffs2文件系统制作, 内核挂载jffs2, uboot网口设置,uboot支持tftp
[xlua notes] array of lua to array of C #
Lidar: introduction and usage of ouster OS
普通测试年薪15w,测试开发年薪30w+,二者差距在哪?
unity中跟随鼠标浮动的面板,并可以自适应文字内容的大小
企业中台建设新路径——低代码平台
低代码平台中的数据连接方式(上)
Lombok同时使⽤@Data和@Builder 的坑