为什么不建议在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’)