通過mysql自帶的一些字符串截取函數(shù),對數(shù)據(jù)進(jìn)行處理,下面是我整理的字符串截取 和 截取字符進(jìn)行查詢。
一、MySQL中字符串的截取
MySQL中有專門的字符串截取函數(shù):其中常用的有兩種:substring_index(str,delim,count) 和concat
1.substring_index(str,delim,count) 函數(shù)的使用較為普遍。
函數(shù)括號里面的依次為:要分隔截取的字符串(如:”aaa_bbb_ccc”)、分隔符(如:“_”)、位置(表示第幾個分隔符處,如:“1”)。
count為正數(shù),那么就是從左邊開始數(shù),函數(shù)返回第count個分隔符的左側(cè)的字符串;
count為負(fù)數(shù),那么就是從右邊開始數(shù),函數(shù)返回第count個分隔符右邊的所有內(nèi)容;
count可以為0,返回為空。
例子:substring_index("aaa_bbb_ccc","_",1) ,返回為 aaa;
substring_index("aaa_bbb_ccc","_",2) ,返回為 aaa_bbb;
substring_index(substring_index("aaa_bbb_ccc","_",-2),"_",1) ,返回為 bbb;
2.concat是連接幾個字符串
例子:concat(‘m’,’y’,’s’,’q’,’l’);
返回:mysql
二、依據(jù)表中的某個字段查詢包含有這個字符的所有數(shù)據(jù)
1.find_in_set:SELECT * FROM user WHERE find_in_set(‘吳’,name); 查詢user表中所有name包含“吳”的數(shù)據(jù) 2.REGEXP:SELECT * FROM user WHERE name REGEXP ‘(‘吳’|‘劉’)’; 使用正則,查詢包含劉或者吳的數(shù)據(jù)