表结构和表数据如下
一、CONCAT(str1,str2,...):拼接字符串
SELECT CONCAT(b.id,'--->',b.name,'===',b.sex) AS '编号' FROM beauty b WHERE b.id IN (1,3,5);
二、SUBSTR():截取子串
1、SUBSTR(str,pos):从 pos 的位置开始截取字符串 str
注意:MySQL 的索引是从 1 开始的
// 从索引位置为 8 的地方开始截取字符串,不包含 8 这个位置 SELECT SUBSTR('人生没有如果,只有后果和结果',8) AS result;
2、SUBSTR(str,pos,len):从 pos 的位置开始截取长度为 len 的字符
// 从索引为 1 的位置开始,截取长度为 6 的字符串 SELECT SUBSTR('人生没有如果,只有后果和结果',1,6) AS result;
三、UPPER()/LOWER():转换成大写/小写
// 将 AbcdEFgHijKlMn 全部大写 SELECT UPPER('AbcdEFgHijKlMn') AS result; // 将 AbcdEFgHijKlMn 全部小写 SELECT LOWER('AbcdEFgHijKlMn') AS result;
四、REPLACE(str1,str2,str3):将 str1 中的 str2 全部替换为 str3
// 将 '大弦嘈嘈如急雨' 中的 '弦' 全部替换为 '琵琶' SELECT REPLACE('大弦嘈嘈如急雨','弦','琵琶') AS result;
五、TRIM(str):去除 str 前后的空格
1、TRIM(str):去除 str 前后的空格
// 去除字符串 ' aaaa小毛毛变身aaaa ' 前后的空格 SELECT TRIM(' aaaa小毛毛变身aaaa ') AS result;
2、TRIM(str2 FROM str):去除 str 前后的字符 str2
// 去除指定字符串 'aaaa小毛毛变身aaaa' 前后的字符 a SELECT TRIM('a' FROM 'aaaa小毛毛aaa变身aaaa') AS result;
六、INSTR(str,substr):返回 substr 在 str 中第一次出现的位置,如果不存在返回为 0
// 指定字符串中第一次出现字符 '果' 的索引位置,结果是:6 SELECT INSTR('人生没有如果,只有后果和结果','果'); // 如果字符串中不包含子串,则结果为0 SELECT INSTR('人生没有如果,只有后果和结果','嘿嘿');
七、LENGTH(str):返回 str 的字节长度
UFT-8 中英文字符长度为 1,汉字字符长度为 3,JDK中英文字符长度为 1,汉字字符长度为 2
// 结果是 3 SELECT LENGTH('123'); // 结果是 6 SELECT LENGTH('abcdef'); // 结果是 9 SELECT LENGTH('小毛毛');