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

mysqlmysqli database

实际上,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’)

相关文章