在 mysql 查询中执行以下操作的正确方法是什么?:
$string="apple banana orange";
mysql 列 A = "banana"
mysql 查询:A
列未包含在 $string
中
谢谢!
最佳答案
如果每一行都有一个名为 A
的列,其中包含以空格分隔的标记,您可以运行此命令:
SELECT * FROM table_name
WHERE LOCATE(CONCAT(' ',A,' '),'apple banana orange') = 0;
我在两边都填了一个空格的原因是为了覆盖这样的情况:
SELECT * FROM table_name
WHERE LOCATE(CONCAT(' ',A,' '),'pineapple banana orange') = 0;
作为字符串
apple
是在apple banana orange
apple
在pineapple banana orange
在语义方面
apple
是在apple banana orange
apple
不在pineapple banana orange
如果您正在寻找 葡萄
怎么办?
作为字符串
grape
在apple banana orange grape
葡萄
在apple banana orange grapefruit
在语义方面
grape
在apple banana orange grape
grape
不在apple banana orange grapefruit
试一试!!!
警告
查询本身会产生全表扫描。
你应该考虑做 FULLTEXT 索引。
关于mysql 字符串不像列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15557471/