在mysql中,我們經常遇到匹配逗號分隔的問題,比如要查找一列中包含某個值的行,但是這列的值可能是以逗號分隔的。
為了解決這個問題,我們可以使用mysql中的find_in_set函數。
SELECT * FROM table WHERE FIND_IN_SET("值", 列名) >0;
上面的代碼中,table代表查詢的表名,"值"代表要匹配的值,列名代表要查找的列名。
find_in_set函數會將列名中的值以逗號分隔,然后和給定的值進行比對,如果匹配就返回大于0的值,否則返回0。
例如,如果我們有一列名為categories,其中的值為"技術,科學,歷史",我們想查找包含"技術"的行,可以這樣查詢:
SELECT * FROM table WHERE FIND_IN_SET("技術", categories) >0;
這樣就能找到所有包含"技術"的行了。
需要注意的是,find_in_set函數只用于逗號分隔的字符串,如果列名中的值不是逗號分隔的,這樣的查詢將無法正常工作。
上一篇python 運維 框架
下一篇html居由代碼