MySQL搜索精确匹配
我想在SQL中搜索精确匹配: 在用户表的searchString列中,我有:MySQL搜索精确匹配,mysql,Mysql,我想在SQL中搜索精确匹配: 在用户表的searchString列中,我有: alan@xxx.com 654433 active other text ted@xsdd.com 43434 inactive other text 我只想搜索活动或非活动: SELECT u FROM User u WHERE u.searchString = 'active' 或 但是它返回两条语句的两行 预期结果: searchString='active'返回alan@xxx.com仅限行 search
alan@xxx.com 654433 active other text
ted@xsdd.com 43434 inactive other text
我只想搜索活动或非活动:
SELECT u FROM User u WHERE u.searchString = 'active'
或
但是它返回两条语句的两行
预期结果:
searchString='active'返回alan@xxx.com仅限行
searchString='inactive'返回ted@xsdd.com仅限行
请帮忙。谢谢。使用
类似于运算符的或条件
SELECT u FROM User u WHERE u.searchString like '%active%'
or u.searchString like '%inactive%'
很抱歉我不清楚。我已经编辑了我的帖子。我只想返回1。请帮忙。谢谢。如果某个字符串包含“inactive”字,它将与%active%匹配,因此没有理由在where子句中包含类似“%inactive%”的内容。但是,如果某些记录包含“半活动”,它也会与%active%匹配(不正确?),因此我不会进行此类搜索。您的查询(如所述)将完全按照您的意愿进行。数据不符合条件,或者您没有发布正确的查询。“活动”上的精确匹配不可能返回带有“非活动”的行,反之亦然。您发布的数据和查询似乎都是示例,而不是您在数据库中使用的数据。请张贴实际代码和实际样本数据。
SELECT u FROM User u WHERE u.searchString like '%active%'
or u.searchString like '%inactive%'