2013年8月13日 星期二

MySQL - 字串處理

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');



沒有留言:

張貼留言