本次课程我们来学习mysql里边的字符函数。说到字符函数,其实就是用来处理字符串的。处理字符串的需求还是很多的,比如说保留手机尾号的后四位,区域的内容隐去。再比如说员工英文名字首字母要大写,其余字母小写等等,咱们就来具体看一下有哪些字符函数。
1. 字符函数(一)
函数 | 功能 | 用例 |
LOWER | 转换小写字符 | LOWER(ename) |
UPPER | 转换大写字符 | UPPER(ename) |
LENGTH | 字符数量 | LENGTH(ename) |
CONCAT | 连接字符串 | CONCAT(sal,"$") |
INSTR | 字符出现的位置 | INSTR(ename,"A") |
INSERT | 插入/替换字符 | INSERT("你好",1,0,"先生") |
REPLACE | 替换字符 | REPLACE("你好先生","先生","女士") |
select
lower(ename),upper(ename),length(ename),
concat(sal,"$"),instr(ename,"A")
from t_emp
select insert("你好",1,0,"先生")
select replace("你好先生","先生","女士")
2. 字符函数(二)
函数 | 功能 | 用例 |
SUBSTR | 截取字符串 | SUBSTR("你好世界",3,4) |
SUBSTRING | 截取字符串 | SUBSTRING("你好世界",3,2) |
LPAD | 左侧填充字符 | LPAD("Hello",10,"*") |
RPAD | 右侧填充字符 | RPAD("Hello",10,"*") |
TRIM | 去除首尾空格 | TRIM(" 你好先生 ") |
SUBSTR和SUBSTRING区别在于这两个函数的第三个参数到底是偏移量还是结束位置。
如果截取世界两个字,
SUBSTR("你好世界",3,4) :从第3个字符开始截取,截取到第4个
SUBSTRING("你好世界",3,2):从第3个字符开始截取,截取2个字符
练习:保留手机号的后四位
select lpad(substring("17631431209",8,4),11,"*")