首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置数据类型包含项的mysql

设置数据类型包含项的mysql
EN

Stack Overflow用户
提问于 2011-03-18 06:53:28
回答 4查看 9.7K关注 0票数 7

我有一个表,它对其中一个字段使用SET数据类型,并检查该字段是否包含我使用的特定元素

代码语言:javascript
复制
SELECT * FROM table WHERE myset LIKE %value%;

这在大多数情况下都是有效的,但是两个可能的值具有相同的单词,即集合中一个可能的元素是Poodle,另一个是Toy Poodle。如果我这样做了

代码语言:javascript
复制
SELECT * FROM table WHERE myset LIKE %Poodle%;

它返回具有Poodle或Toy Poodle的所有行。我希望它只在字段包含Poodle时返回。如果我删除通配符,那么它将只返回只有Poodle的行。所以基本上,如果表格是:

代码语言:javascript
复制
id | myset
-------------------------
1  | "Poodle"
2  | "Toy Poodle"
3  | "Poodle","Toy Poodle"
4  | "Toy Poodle","Poodle"

我需要一个select语句,它返回1、3和4,但不返回2。这可能吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-18 06:58:21

使用FIND_IN_SET方法怎么样?

票数 9
EN

Stack Overflow用户

发布于 2011-03-18 06:59:15

您需要做的是:按照documentation中描述的方式执行SELECT * FROM table WHERE FIND_IN_SET('Poodle',myset)>0

票数 12
EN

Stack Overflow用户

发布于 2011-03-18 06:59:34

代码语言:javascript
复制
SELECT * FROM table WHERE FIND_IN_SET( '"Poddle"', myset ) > 0

查找"对于消除记录#2很重要

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5346274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档