当新的帖子标题包含这些关键字时,用户输入一些他想获得通知的关键字。这是我目前正在尝试的方法:

LOCATE( LOWER( REPLACE(  `app_notif_keywords` ,  ' ',  ',' ) ) , LOWER( REPLACE(  'Visiska tamsa | Pitch Black (2000)',  ' ',  ',' ) ) ) !=0


这是精简版:

LOCATE('the,gift,pitch,black', 'visiska,tamsa,|,pitch,black,(2000)')


但是,我什么也得不到。我可以用什么代替它使其工作?

最佳答案

要匹配任何范围的csv值,请使用regexp像这样:

select * from mytable
where lower(concat(',', app_notif_keywords, ','))
  regexp lower(concat(',(', replace('Visiska tamsa Pitch Black', ' ', '|'), '),'))


SQLFiddle

09-10 09:10