通常,当使用SELECT查询数据库时,通常希望查找与给定搜索字符串匹配的记录。
例如:
SELECT * FROM customers WHERE name LIKE '%Bob Smith%';
该查询应该会给出“Bob Smith”出现在name字段中任何位置的所有记录。
我想做的是相反的事情。
我不想查找名称字段中包含'Bob Smith‘的所有记录,而是希望查找名称字段位于'Robert Bob Smith III,PhD.’中的所有记录,这是查询的字符串参数。
发布于 2011-02-07 05:24:27
就像这样转过身来
SELECT * FROM customers
WHERE 'Robert Bob Smith III, PhD.' LIKE CONCAT('%',name,'%')
发布于 2011-02-07 05:25:07
您可以像这样使用正则表达式:
SELECT * FROM pet WHERE name REGEXP 'Bob|Smith';
发布于 2016-10-03 00:49:10
不正确:
SELECT * FROM customers WHERE name LIKE '%Bob Smith%';
而是:
select count(*)
from rearp.customers c
where c.name LIKE '%Bob smith.8%';
select count
将仅查询(总计)
C
会将db.table链接到您需要它来索引的names行
LIKE
应为obvs
8
将调用DB8或更低版本中的所有引用(不是真正需要的,但我喜欢整洁)
https://stackoverflow.com/questions/4916195
复制相似问题