今天遇到寫功能時遇到乙個問題,資料庫中的字串為list形式,多個字串間逗號隔開
假如此時需要查詢該列中包含的『ssdc1』欄位的資料,理論上可以用如下函式
select * from xx where ssdc_code like "%ssdc1%";但是這樣的函式查出來有乙個問題,會將包含ssdc1的字段也查出來,例如'ssdc13'select * from xx where locate('ssdc1', ssdc_code);
select * from xx where instr(ssdc_code,'ssdc1');
最終發現乙個合適的函式是
find_in_set(str,strlist)
其中str是需要擷取的字串,strlist是乙個只能用英文逗號隔開的字串列,非常適合用來實現上述功能
select * from xx where find_in_set('ssdc1',ssdc_code)這樣寫選出來的ssdc_code中就只包含『ssdc1』,不會出現包含『ssdc13』的情況了
因為它判斷的是兩個逗號之前的字串是否與給定字串完全相匹配,不完全相匹配的字段不會被選中
Mysql查詢 如何判斷某欄位是否包含某個字串?
今天乙個群有人向我求助這樣乙個問題,它的mysql表結構和表資料如下圖 mysql查詢 如何判斷某欄位是否包含某個字串 現在,這位群友的要求是 title欄位有1和3的都要查出來,應該如何做?1 單個值查詢使用myql函式 find in set select fromby contentwhere...
mysql判斷是否包含某字串的方法
當我們需要對資料做篩選和查詢的時候,往往會涉及到篩選或者查詢包含某個字串的情況,下面列出幾個實現方法。like like的用法肯定都很熟悉,它可以匹配欄位以某字串開始,以某字串結尾,包含有某字串,用法如下 like string like string like string find in set...
PHP 判斷是否包含某字串
原文 php判斷字串的包含,可以使用php的內建函式 strstr,strpos,stristr直接進行判斷.也可以通過explode函式的作用寫乙個判斷函式 strstr 返回乙個從被判斷字元開始到結束的字串,如果沒有返回值,則不包含.stristr 它和strstr的使用方法完全一樣.唯一的區別...