【重学 MySQL】三十一、字符串函数

【重学 MySQL】三十一、字符串函数

函数名称 用法描述
ASCII(S) 返回字符串S中的第一个字符的ASCII码值
CHAR_LENGTH(s) 返回字符串s的字符数,与CHARACTER_LENGTH(s)相同
LENGTH(s) 返回字符串s的字节数,和字符集有关
CONCAT(s1,s2,...,sn) 连接s1,s2,...,sn为一个字符串
CONCAT_WS(x, s1,s2,...,sn) 同CONCAT,但每个字符串之间要加上x
INSERT(str, idx, len, replacestr) 将字符串str从第idx位置开始,len个字符长的子串替换为字符串replacestr
REPLACE(str, a, b) 用字符串b替换字符串str中所有出现的字符串a
UPPER(s) 或 UCASE(s) 将字符串s的所有字母转成大写字母
LOWER(s) 或 LCASE(s) 将字符串s的所有字母转成小写字母
LEFT(str,n) 返回字符串str最左边的n个字符
RIGHT(str,n) 返回字符串str最右边的n个字符
LPAD(str, len, pad) 用字符串pad对str最左边进行填充,直到str的长度为len个字符
RPAD(str, len, pad) 用字符串pad对str最右边进行填充,直到str的长度为len个字符
LTRIM(s) 去掉字符串s左侧的空格
RTRIM(s) 去掉字符串s右侧的空格
TRIM(s) 去掉字符串s开始与结尾的空格
TRIM(s1 FROM s) 去掉字符串s开始与结尾的s1
TRIM(LEADING s1 FROM s) 去掉字符串s开始处的s1
TRIM(TRAILING s1 FROM s) 去掉字符串s结尾处的s1
REPEAT(str, n) 返回str重复n次的结果
SPACE(n) 返回n个空格
STRCMP(s1,s2) 比较字符串s1,s2的ASCII码值的大小
SUBSTR(s,index,len) 或 SUBSTRING(s,n,len) 或 MID(s,n,len) 返回从字符串s的index位置开始的len个字符
LOCATE(substr,str) 或 POSITION(substr IN str) 或 INSTR(str,substr) 返回字符串substr在字符串str中首次出现的位置,未找到返回0
ELT(m,s1,s2,...,sn) 返回指定位置的字符串,如果m=1,则返回s1,如果m=2,则返回s2,依此类推
FIELD(s,s1,s2,...,sn) 返回字符串s在字符串列表中第一次出现的位置
FIND_IN_SET(s1,s2) 返回字符串s1在由逗号分隔的字符串s2中出现的位置
REVERSE(s) 返回s反转后的字符串
NULLIF(value1,value2) 如果value1与value2相等,则返回NULL,否则返回value1

注意:MySQL中,字符串的位置是从1开始的。

举例:

示例SQL 结果
SELECT FIELD('mm','hello','msm','amma'),FIND_IN_SET('mm','hello,mm,amma') FROM DUAL; 0, 2
SELECT NULLIF('mysql','mysql'),NULLIF('mysql', ''); NULL, 'mysql'
相关推荐
了一梨23 分钟前
SQLite3学习笔记4:打开和关闭数据库 + 创建表(C API)
数据库·学习·sqlite
Hgfdsaqwr5 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
charlotte102410246 小时前
数据库概述
数据库
清平乐的技术专栏7 小时前
HBase集群连接方式
大数据·数据库·hbase
ʚB҉L҉A҉C҉K҉.҉基҉德҉^҉大8 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
哈__8 小时前
多模融合 一体替代:金仓数据库 KingbaseES 重构企业级统一数据基座
数据库·重构
老邓计算机毕设9 小时前
SSM医院病人信息管理系统e7f6b(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·医院信息化·ssm 框架·病人信息管理
2601_949613029 小时前
flutter_for_openharmony家庭药箱管理app实战+药品分类实现
大数据·数据库·flutter
dyyx11110 小时前
使用Scikit-learn进行机器学习模型评估
jvm·数据库·python
踢足球092910 小时前
寒假打卡:2026-01-27
数据库