所以,我一直在做一些挖掘,但我真的找不到具体的东西。假设我有一张table叫 products
有两列: product_name
以及 vendor
.
product_name | vendor
Item A | Computer Mania
Item B | Incredible Connection
Item C | Computer Mania
现在假设我不记得怎么拼写了 computer
我说,好吧,我记得名字以 co
结束于 er
而且有 mania
之后。
如何使用where中的这些条件构建select查询?我不知道怎么做。
以下是我尝试的: SELECT * FROM products WHERE vendor_name LIKE '%co%';
然而,这又回来了 Incredible Connection
我也不想要。
3条答案
按热度按时间kxe2p93d1#
我会用
REGEXP
在这里:这个regex模式要求查找名称中第一个单词以开头的所有供应商
co
结束于er
,后面是单词mania
.rfbsl7qr2#
必须正确使用sql通配符。
这个
%
通配符表示零个或多个字符。所以,如果你用%co%
,它将搜索字符串co
在“供应商”列中。vendor
问题中给定示例中的列包含字符串co
在每一排。如果你说是从
co
结束于er mania
,然后使用通配符作为vendor like 'co%er mania'
. 这将搜索vendor
以开头的值的列co
结束于er mania
```select * from products where vendor like 'co%er mania';
6jygbczu3#
例如,您可以使用
like
:您可能还希望使这个大小写独立,尽管这是mysql中的默认值。