当前位置:网站首页>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;
边栏推荐
- Recommended collection!! Which is the best flutter status management plug-in? Please look at the ranking list of yard farmers on the island!
- Pgadmin4 of PostgreSQL graphical interface tool
- MetaForce原力元宇宙佛萨奇2.0智能合约系统开发(源码部署)
- STM32项目 -- 选题分享(部分)
- 如何从0到1构建32Core树莓派集群
- Use of fiddler
- 遇到慢SQL该怎么办?(下)
- Increase 900w+ playback in 1 month! Summarize 2 new trends of top flow qiafan in station B
- Web3的先锋兵:虚拟人
- 真实项目,用微信小程序开门编码实现(完结)
猜你喜欢
C语言练习题_1
Lidar: introduction and usage of ouster OS
Zhang Ping'an: accelerate cloud digital innovation and jointly build an industrial smart ecosystem
C#/VB.NET 删除Word文檔中的水印
Introduction to FLIR blackfly s industrial camera
The boss is quarantined
测试优惠券要怎么写测试用例?
普通测试年薪15w,测试开发年薪30w+,二者差距在哪?
AWS学习笔记(一)
Tiflash source code reading (IV) design and implementation analysis of tiflash DDL module
随机推荐
PCL 常用拟合模型及使用方法
【Node学习笔记】chokidar模块实现文件监听
What to do when encountering slow SQL? (next)
How to build a 32core raspberry pie cluster from 0 to 1
4 -- Xintang nuc980 mount initramfs NFS file system
[leetcode]Search for a Range
pgpool-II和pgpoolAdmin的使用
[server data recovery] data recovery case of a Dell server crash caused by raid damage
Pgadmin4 of PostgreSQL graphical interface tool
压缩 js 代码就用 terser
【软件测试】最全面试问题和回答,全文背熟不拿下offer算我输
unity webgl自适应网页尺寸
Zhang Ping'an: accelerate cloud digital innovation and jointly build an industrial smart ecosystem
Several classes and functions that must be clarified when using Ceres to slam
Tiflash source code reading (IV) design and implementation analysis of tiflash DDL module
Introduction to FLIR blackfly s industrial camera
leetcode:5. Longest palindrome substring [DP + holding the tail of timeout]
leetcode:5. 最长回文子串【dp + 抓着超时的尾巴】
3D laser slam: time synchronization of livox lidar hardware
企业中台建设新路径——低代码平台