首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL "in“语句

SQL "in“语句
EN

Stack Overflow用户
提问于 2012-01-21 17:28:36
回答 4查看 1.1K关注 0票数 1

DB是MySQL。有一个表的结构如下所示:

代码语言:javascript
复制
select * from table1
id column1
-- --------
1  3,4,5
2  3,7,8

以及不能正常工作的sql:

代码语言:javascript
复制
SELECT * FROM table1 WHERE 3 in (column1)

我知道这张桌子的结构不正确。但它是在我之前完成的。你能用这种方式给我推荐什么?或者将执行此sql的含义的东西?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-21 17:32:26

请对您的表进行规范化。阅读《为什么选择storing comma separated values in a db column is really bad》。

如果不允许,请使用函数:

代码语言:javascript
复制
SELECT * 
FROM table1 
WHERE FIND_IN_SET(3, column1)
票数 5
EN

Stack Overflow用户

发布于 2012-01-21 17:30:55

看起来你想要

代码语言:javascript
复制
SELECT * FROM table1 WHERE column1 LIKE "%,3,%" OR column1 LIKE "3,%" OR column1 LIKE "%,3"
票数 1
EN

Stack Overflow用户

发布于 2012-01-21 17:33:37

使用find_in_set它返回值在逗号分隔值字符串中的位置

代码语言:javascript
复制
SELECT * 
FROM table1 
WHERE FIND_IN_SET(3, column1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8951952

复制
相关文章

相似问题

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