为什么不建议在MySQL IN()函数的列表中混合使用带引号和无引号的值?

实际上,MySQL对于带引号的值(例如字符串)和未带引号的值(例如数字)具有不同的比较规则。混合使用IN()方法列表中带引号和不带引号的值时,可能导致结果集不一致。例如,我们不能使用IN()以下函数编写查询:

Select Salary from employee where ID IN(1,’a’,2,3,’c’)

代替这种方法,编写上述查询的更好方法如下:

Select Salary from employee where ID IN(‘1’,’a’,’2’,’3’,’c’)
猜你喜欢