mysql char(len) binary 和 varchar(len) binary的用意

一条查询让你明白

select 'ABC' = 'abc' as ignoreCase, binary 'ABC' = 'abc' as notIgnoreCase;

高(装)级(逼)一下

select if(('ABC' = 'abc') = 1, 'equal', 'not equal') as ignoreCase, if((binary 'ABC' = 'abc') = 1, 'equal', 'not equal') as notIgnoreCase;

是的,mysql默认是不区分大小写的,所以在一些查询命令时我们可能会遇到此困扰,在值前面加上binary修饰后数据在读取时会按照二进制(ASCII码)去进行操作,这样就不会出现选择'abc' 把'ABC'也查询出来的问题了

你可能感兴趣的:(mysql,binary)