在Mysql中区分大小写使用select where Query

嗨,我正在使用Java前端和Mysql后端,,,

实际上在tbl_test中包含

name value --------------- abc 22 xyz 14 ABC 32 xyZ 4 ABc 4 

在java中我尝试检索abc的值,因此编写了一个代码

 ResultSet result=stmt.executeQuery("select value from tbl_test where name='abc'"); while(result.next()) { System.out.println("Answer : "+result.getInt(1)); } result.close(); 

目前的输出是

 Answer : 22 Answer : 32 Answer : 4 

其实我只希望结果’abc’即答案:22

我也找到了结果,代码如下

 String name="abc"; ResultSet result=stmt.executeQuery("select name, value from tbl_test where name='"+name+"'"); while(result.next()) { if(name.equals(result.getString(1)) System.out.println("Answer : "+result.getInt(2)); } result.close(); 

现在我得到正确的输出,但这个结果来自java代码不在查询中,是否有可能在查询中检索相同的结果…

谢谢

使用MySQL Binary运算符:

 select value from tbl_test where CAST(name AS BINARY) ='abc'; 

SQL小提琴演示

例如,您必须使用区分大小写的搜索,或者像Mahmoud所说的那样使用Binary serach

 select value from tbl_test where name COLLATE latin1_general_cs LIKE 'abc' 

http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html