【重学 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'
相关推荐
HackTwoHub2 分钟前
Sqli-Scanner SQL注入SKILL自动化挖掘SQL注入,零依赖自动化SQL注入挖掘,赏金猎人
数据库·人工智能·sql·web安全·网络安全·自动化·系统安全
l1t14 分钟前
DuckDB对group by cube / rollup / groupping sets查询的优化
数据库·duckdb
Database_Cool_41 分钟前
什么是湖仓一体?和数据仓库的本质区别(附 AnalyticDB MySQL 湖仓一体方案)
数据库·数据仓库·mysql
l1t1 小时前
DeepSeek总结的MariaDB 的 DuckDB 存储引擎
数据库·mariadb
tiancaijiben1 小时前
阿里云VMware服务完全对接指南:从环境准备到混合云生产级应用
数据库
Curvatureflight2 小时前
MySQL 深分页越来越慢?从 LIMIT OFFSET 改成游标分页
数据库·oracle
XZ-0700012 小时前
MySQL事务
数据库·mysql·oracle
tiancaijiben2 小时前
阿里云函数计算FC如何实现网站的定时任务与自动化
数据库·oracle·dba
xfhuangfu2 小时前
Oracle 19c 多租户体系架构介绍
数据库·oracle·架构
java1234_小锋2 小时前
请描述 Spring Boot 的启动流程,包括 SpringApplication 的初始化和 run 方法的核心步骤。
java·数据库·spring boot