与MySQL ID IN混淆('')

时间:2014-01-29 05:24:41

标签: mysql

我正在使用mysql查询来获取多个turnk id的数据。但是我得到了不同的IN()格式的不同结果。 我的ID格式:

    1) IN ('1,2,3')
    2) IN ('1','2','3')
    3) IN (1,2,3) 

通过应用这些格式我从mysql获得结果,但每次显示不同的结果。这不是随机的。假设:  用不。 (1)我得到55和  用不。 (2)我得到87和  用不。 (3)我得到55

 i am not much familiar with this situation. so need your help.

由于

1 个答案:

答案 0 :(得分:2)

你要求3件不同的东西

1) IN ('1,2,3')

您正在查询字符串'1,2,3',它与ID = '1,2,3'相同。

2) IN ('1','2','3')

您正在查询3个字符串'1','2'和'3'中的任意一个,它与ID = '1' or ID = '2' or ID = '3'

相同
3) IN (1,2,3) 

您正在查询3个数字 1,2和3中的任何一个,它与ID = 1 or ID = 2 or ID = 3

相同

通常2)和3)会给出与字符串之间的隐式转换相同的结果,数字会产生相同的值。