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

更新于: 2019年7月30日

64 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.