字符串函数
MySQL 提供了丰富的字符串函数,用于对字符串进行各种操作,如合并、计算长度、填充、替换等。下面是一些常用的字符串函数:
函数 | 功能 |
---|---|
CONCAT(S1,S2,...Sn) | 字符串拼接,将 S1,S2,... Sn 拼接成一个字符串 |
LOWER(str) | 将字符串 str 全部转为小写 |
UPPER(str) | 将字符串 str 全部转为大写 |
LPAD(str,n,pad) | 左填充,用字符串 pad 对 str 的左边进行填充,达到 n 个字符串长度 |
RPAD(str,n,pad) | 右填充,用字符串 pad 对 str 的右边进行填充,达到 n 个字符串长度 |
TRIM(str) | 去掉字符串头部和尾部的空格 |
SUBSTRING(str,start,len) | 返回从字符串 str 从 start 位置起的 len 个长度的字符串 |
演示如下
concat:字符串拼接
bash
SELECT concat('hello','Mysql');
lower:转小写
bash
SELECT lower('HELLO');
upper:转大写
bash
SELECT upper('hello');
lpad:左填充
第一个参数 数据
第二个参数 数据最后长度
第三个参数 填充内容
bash
SELECT lpad('01',5,'-');
rpad:右填充
第一个参数 数据
第二个参数 数据最后长度
第三个参数 填充内容
bash
SELECT rpad('01',5,'-');
trim : 去除空格
bash
SELECT trim(' hello ');
substring:截取子串
bash
SELECT substring('hello',1,3);
案例
由于需求变更,企业员工的工号 统一为 5 位,目前不足 5 位数全部在前面补 0.比如 1 号员工的工号为 00001
bash
UPDATE emp set workID = LPAD(workID,5,'0');
- 查找史密斯 不知道大写还是小写,这样写就是转变为小写
bash
SELECT * FROM emp WHERE lower(ename) = 'smith';