來源:https://blog.csdn.net/Mr_Susy/article/details/108314988
取逗號分隔第一個詞:
select left(cover, LOCATE(',',cover)-1) from product_album
1、left(str, length):mysql左截取
2、LOCATE(substr,str):返回子串 substr 在字符串 str 中第一次出現的位置。如果子串 substr 在 str 中不存在,返回值為 0
1. MySQL-locate()函數
判斷字符串(string)中是否包含另一個字符串(subStr)
locate(subStr,string) :函數返回subStr在string中出現的位置 // 如果字符串 string 包含 subStr locate(subStr,string) > 0 // 如果字符串 string 不包含 subStr locate(subStr,string) = 0 使用方式
2.Mysql字符串截取總結:left()、right()、substring()、substring_index()
在實際的項目開發中有時會有對數據庫某字段截取部分的需求,這種場景有時直接通過數據庫操作來實現比通過代碼實現要更方便快捷些,mysql有很多字符串函數可以用來處理這些需求,如Mysql字符串截取總結:left()、right()、substring()、substring_index()。
從左開始截取字符串
用法:left(str, length),即:left(被截取字符串, 截取長度)
SELECT LEFT('www.yuanrengu.com',8) 結果為:www.yuan
從右開始截取字符串
用法:right(str, length),即:right(被截取字符串, 截取長度)
SELECT RIGHT('www.yuanrengu.com',6) 結果為:gu.com
截取特定長度的字符串
用法:substring(str, pos),即:substring(被截取字符串, 從第幾位開始截取)
substring(str, pos, length),即:substring(被截取字符串,從第幾位開始截取,截取長度)
1.從字符串的第9個字符開始讀取直至結束
SELECT SUBSTRING('www.yuanrengu.com', 9) 結果為:rengu.com
2.從字符串的第9個字符開始,只取3個字符
SELECT SUBSTRING('www.yuanrengu.com', 9, 3) 結果為:ren
3.從字符串的倒數第6個字符開始讀取直至結束
SELECT SUBSTRING('www.yuanrengu.com', -6) 結果為:gu.com
4.從字符串的倒數第6個字符開始讀取,只取2個字符
SELECT SUBSTRING('www.yuanrengu.com', -6, 2) 結果為:gu
按關鍵字進行讀取
用法:substring_index(str, delim, count),即:substring_index(被截取字符串,關鍵字,關鍵字出現的次數)
1.截取第二個“.”之前的所有字符
SELECT SUBSTRING_INDEX('www.yuanrengu.com', '.', 2); 結果為:www.yuanrengu
2.截取倒數第二個“.”之后的所有字符
SELECT SUBSTRING_INDEX('www.yuanrengu.com', '.', -2); 結果為:yuanrengu.com
3.如果關鍵字不存在,則返回整個字符串
SELECT SUBSTRING_INDEX('www.yuanrengu.com', 'sprite', 1);
3.取某個字段相同的條數在表中大於1條的數據
select count(1) from qyt_company_info t GROUP BY t.org_code HAVING count(1)>1;