MySQL查询条件中尾部带有空格会被忽略

>> 饿了么、美团外卖红包领取地址<<

mysql查询条件中尾部带有空格会被忽略,头部带有空格不会被忽略。

即:

select * from t_user where name='admin    '

等同于

select * from t_user where name='admin'

但是不等同于

select * from t_user where name='    admin'

查阅资料后得到的解释是:在mysql中,如果字段是char或varchar类型,那么在字符串比较的时候MySQL使用PADSPACE校对规则,会忽略字段末尾的空格字符,若想做到精确匹配可以使用下面几种方法:

方法1:使用like语句;

方法2:使用binary类型,例如:

select binary 'a' = 'a '

方法3:再添加一个length()条件,例如:

select col from table where col = 'a ' and LENGTH(col) = LENGTH('a ')

觉得内容还不错?打赏个钢镚鼓励鼓励!!👍

维特丝(vetes)泡沫发蜡喷雾干胶定型弹力素羊毛卷男女保湿蓬松发胶 泡沫发蜡450ml+旅行装99ml
¥34.00
维特丝(vetes)一梳黑染发剂染发梳植物潮色显白遮盖白发自然清水纯黑发焗油男女梳炫彩 自然黑LW00
¥49.00
维特丝(vetes)染发笔遮白补染快速染发天然植物一次性染发棒 一次性染发棒黑色
¥46.00
维特丝 护发精油防毛躁清香玫瑰奇焕亮发干枯烫发卷发直发头发润发护发素男女士 滋养柔顺护发精油100ml
¥36.00