【重学 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'
相关推荐
NightDW9 分钟前
连续周更任务模块的设计与实现
java·后端·mysql
码农阿豪1 小时前
KingbaseES数据库增删改查操作分享
数据库·oracle
言之。1 小时前
Django REST框架核心:GenericAPIView详解
数据库·python·django
DemonAvenger1 小时前
MySQL存储引擎深度对比:InnoDB vs MyISAM及其应用场景解析
数据库·mysql·性能优化
paid槮2 小时前
MySQL的简单介绍
数据库·mysql
不羁。。10 小时前
【撸靶笔记】第八关:GET - Blind - Boolian Based - Single Quotes
数据库·sql·mybatis
AwhiteV11 小时前
利用图数据库高效解决 Text2sql 任务中表结构复杂时占用过多大模型上下文的问题
数据库·人工智能·自然语言处理·oracle·大模型·text2sql
m0_5951998511 小时前
Redis(以Django为例,含具体操作步骤)
数据库·redis·缓存
爱尚你199312 小时前
MySQL 三大日志:redo log、undo log、binlog 详解
数据库·mysql
小猿姐13 小时前
KubeBlocks AI:AI时代的云原生数据库运维探索
数据库·人工智能·云原生·kubeblocks