簡體   English   中英

在Mysql中區分大小寫使用select where Query

[英]Case Sensitive in Mysql using select where Query

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

實際上在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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM