FIND_IN_SET
如果要查找某個欄位裡面等於 aa 或 bb 或 cc 的資料,可能會這樣寫
SELECT * FROM table WHERE Col='aa' AND Col='bb' AND Col='cc'
進階一點,使用 IN
SELECT * FROM table WHERE Col IN ('aa','bb','cc')
再進階一點,可以使用 FIND_IN_SET 這個函數
SELECT * FROM table WHERE FIND_IN_SET(`Col`, 'aa','bb','cc')
FIND_IN_SET 不限定使用在哪裡,它是一個函數,不是像 SELECT, FROM, WHERE 這種語法。也可以使用在 SELECT 。第 1 個參數不一定是欄位名稱,也可以是字串。MySQL 官網的範例:
SELECT FIND_IN_SET('b','a,b,c,d');
沒有留言:
張貼留言