Loading

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

参考

posted @ 2021-01-31 13:41  wheelchen  阅读(289)  评论(0)    收藏  举报