MySQL33--字符串处理函数

字符串处理函数

名称 描述
CONCAT(str1,str2,…) 字符串连接
CONCAT_WS(separatOR,str1,str2,…) 使用指定的分隔符进行字符串连接
LENGTH(str) 返回字符串的长度
SUBSTRING(str,pos,len)/SUBSTR(str,pos,len) 截取字符串
expr [NOT] LIKE pattern [ESCAPE 'escape_CHAR'] 模式匹配
REPLACE(str,FROM_str,to_str) 字符串替换
LTRIM(str)/RTRIM(str)/TRIM(str) 删除前导/后续空格/前导和后续空格
LOWER(str)/UPPER(str) 转换成小写/大定字母
LEFT(str,len)/RIGHT(str,len) 获取左侧/右侧的字符
-- 统计hellokitty字符串长度
SELECT LENGTH('hello kitty');
-- 查询emp表中,员工姓名,员工姓名的长度
SELECT ename,LENGTH(ename) FROM emp;
-- 查询emp表中,员工姓名由5个字符组成的,员工信息(2种)
SELECT * FROM emp WHERE ename LIKE '_____';
SELECT * FROM emp WHERE LENGTH(ename)=5;
-- 截取字符串abcdefghjk中字符
SELECT SUBSTRING('abcdefghjk',3,5);
SELECT SUBSTRING('abcdefghjk',-5,3);
-- 查询emp表中,员工的编号,姓名,职位,姓名最后2个字母
SELECT empno,ename,job,SUBSTRING(ename,-2,2) FROM emp;
-- 使用拼接函数,拼接一首古诗
SELECT CONCAT('鹅鹅鹅,','曲项向天歌;','白毛浮绿水,','红掌拨清波.');
-- 查询dept表中,部门名称(dname),部门地址(loc),部门名称和地址的拼接显示
SELECT dname,loc,CONCAT(dname,loc) FROM dept;

CONCAT()和CONCAT_WS()函数

CONCAT()和CONCAT_WS()都可以实现字符连接,唯一的区别在于:前者直接将字符连接;而后者使用指定的分隔符进行连接;

SELECT CONCAT('My', 'S', 'QL'); -- MySQL 
SELECT CONCAT_WS(',','First name','LASt Name'); -- First name,LASt Name 

[NOT] LIKE运算符

在字符串比较中,可用LIKE和通配符进行查找,通配符的种类有:
百分号(%)表示零个或多个字符;
下划线(_)表示任意单个字符;

-- 查找username列包含字符"t”的记录 
SELECT * FROM t1 WHERE username LIKE '%t%'; 
-- 查找username列的第二个字符为t的记录 
SELECT * FROM t1 WHERE username LIKE '_t%'; 
posted @ 2021-10-24 16:06  暄总-tester  阅读(72)  评论(0)    收藏  举报