between and 字段是字符串时是怎么比较大小的
如图所示
select * from mumushouji.user where password between '123' and 'abc'
sql语句将password是1234也匹配出来了,不知道网上哪些比较字符串大小的资料比较准确
6
收起
正在回答
1回答
同学,你好!1、字符串比较大小是逐位从高位到低位逐个比较(按ascii码),如"18" 和“2”比较,先是1和2 比较。
2的ascii值比1大(如橙色框),那么比较便结束了。
2、若是数字字符串位数不相同,则补值0到最大位数再进行比较。如同学的123是总共是3位数,1234 是4位数。比较时,三位的123 和和四位的123的ascii 值相同,三位的123第4位补值是0,四位的1234第4位是4,ascii值比0大,所以“1234”要大于“123”。between and 是求大于between 的值,所以“1234”会出现在查询结果中
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星