MySQL关于查询条件中:字符串类型的值忽略英文字母的大小写以及字符串尾部包含空格的问题

来源:互联网 发布:装修设计实用软件 编辑:程序博客网 时间:2024/05/21 16:10
MySQL关于查询条件中:字符串类型的值忽略英文字母的大小写以及字符串尾部包含空格的问题问题:MySQL中执行下面3条查询语句,查询出来的结果完全相同。SELECT * FROM t_accounts WHERE account= "xiaoning"SELECT * FROM t_accounts WHERE account= "XiaoNing"SELECT * FROM t_accounts WHERE account= "xiaoning "分析:1)MySQL对CHAR或VARCHAR类型的值进行比较(=)时,会忽略字符串中英文字母的大小写以及尾部的空格2)对CHAR和VARCHAR类型的值进行LIKE查询时,会忽略英文字母的大小写,但是不会忽略字符串尾部的空格解决方案:SELECT * FROM t_accounts WHERE account= BINARY "xiaoning"SELECT * FROM t_accounts WHERE account= BINARY "XiaoNing"SELECT * FROM t_accounts WHERE account= BINARY "xiaoning "BINARY不是函数,是类型转换运算符,BINARY强制将后面的字符串转换为一个二进制的字符串,可以理解为在字符串比较的时候区分英文字母的大小写以及空格,即精确匹配。

阅读全文
0 0
原创粉丝点击