MySQL-mysql id in(‘1,2,3’) 和 in(1,2,3)的区别

项目合作 项目合作 主题:1030 回复:2135

MySQL-mysql id in(‘1,2,3’) 和 in(1,2,3)的区别

浮生未歇 发布于 2017-10-01 字数 144 浏览 1165 回复 5

mysql id in('1,2,3') 和 in(1,2,3)的区别怎么才能把 in中的'1,2,3'通过mysql的自身的函数转换成1,2,3
或者别的方法也行,只要不用脚本的就成

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(5

归属感 2017-10-21 5 楼

select * from tab where id in(1,2,3) 可以写成如下:

select * from tab where find_in_set(id,'1,2,3')

归属感 2017-10-13 4 楼

mysql查询中

select 字段 from 表名 where 字段 IN(条件)

其中IN中条件值可以是单个,也可以是多个。单个条件字串型需要有引号,数字型可以不加;多个之间逗号隔开。
所以看你那个

 id in('1,2,3')

其实就是一个条件值'1,2,3',即查找id为‘1,2,3’的;

 id in(1,2,3)

则是多个(三个)条件值,即查找id分别为1、2、3的。

当然啦,如果你说你非要用‘1,2,3’来查id分别为1、2、3的数据,你可以用别名一种方式,写成

 find_in_set(id,'1,2,3')

偏爱自由 2017-10-12 3 楼

mysql id in('1,2,3') 查询的是id的值为字符串类型的'1,2,3'的数据,而mysql id in(1,2,3)查询的是id只要是数字类型的1或2或3的数据

晚风撩人 2017-10-02 1 楼

加单引是整个作为一个字符串去处理,去掉可以使用left和right函数去掉最左边和最右边的第一个字符