mysql 常用函数----字符函数

表结构和表数据如下

一、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('小毛毛');
原文地址:https://www.cnblogs.com/xiaomaomao/p/14991320.html