在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/