在MYSQ Query LIKE中设置边界

时间:2017-11-30 20:10:17

标签: mysql

我需要搜索B196而不是B196Y的产品。产品以下列格式保存在数据库中

B196 - 发带 - 粉红色

SELECT * FROM 
sn_unit
where 
product LIKE  'B196%Hair Band%Pink';

3 个答案:

答案 0 :(得分:1)

你可以添加空格:

SELECT * 
FROM sn_unit
where product LIKE 'B196 %Hair Band%Pink';

答案 1 :(得分:1)

LIKE也可用于过滤掉结果;这样的事情会更精确。

SELECT * 
FROM sn_unit
WHERE product LIKE 'B196%Hair Band%Pink'
  AND product NOT LIKE 'B196Y%'
;

答案 2 :(得分:-1)

当您使用字符串 B196 查找产品商店时,您可以搜索该字符串 LIKE %B196%。这将找出 B196,而您不是在寻找需要从查询中排除的 B196Y。这就是为什么使用 NOT LIKE %B196y% 排除它。此查询使用 AND 运算符,当字符串仅包含 B196 时将返回 true。

   SELECT * 
   FROM sn_unit
   WHERE product LIKE '%B196%' 
   AND product NOT LIKE '%B196Y%' ;