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%';
本文来自博客园,作者:暄总-tester,转载请注明原文链接:https://www.cnblogs.com/sean-test/p/15451532.html

浙公网安备 33010602011771号