在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
作为字符串
grape位于apple banana orange grape
grape位于apple banana orange grapefruit
在语义上
grape位于apple banana orange grape
grape不在apple banana orange grapefruit
试试看!!!
警告
查询本身将生成一个完整的表扫描。
你应该考虑做全文索引。

关于mysql - mysql字符串不像列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15557471/

10-16 15:16