MySQL中字符串与数字比较的坑
样例
SELECT '123abc456' = 123, 'adc2' = 2, 'abc2' = 0, '0abc2' = 0, 123 = '123c567';
结果

分析
查阅MySQL 5.7官方文档中关于比较的章节,其中说明Strings are automatically converted to numbers and numbers to strings as necessary.。也就是说在比较的时候,String是可能会被转为数字的。
String → Number
开头不为数字的 → 0 e.g. 'abc1' → 0
数字中间插字母:'123abc456' → 123

浙公网安备 33010602011771号