0
私はsqliteデータベースでCOLLATE NOCASEを使用してSQLクエリを実行しました。ユーザ入力が大文字または小文字のいずれかを無視してデータを取得するようにしましたが、実際には機能しません。 Place1とPlace2には、Bagmati、Basantapurのようなデータがありますが、ユーザーがPlace1をBagmatiとして入力すると、データは出力されません。SQLiteのCOLLATE NOCASE
public String getTaxiDistance(String name, String depart){
String [] columns = {"fare"};
c = db.rawQuery("select Distance from TaxiFinalData where Place1 = '"+name+"' COLLATE NOCASE and Place2 = '"+depart+"' COLLATE NOCASE or Place1 = '"+depart+"' COLLATE NOCASE and Place2 = '"+name+"'COLLATE NOCASE", new String[]{});
StringBuffer buffer = new StringBuffer();
while(c.moveToNext()){
String employyename = c.getString(0);
buffer.append(employyename+"");
}
return buffer.toString();
}
[Works for me](http://sqlfiddle.com/#!5/cdf2f/2)。 'name'と' depart'の実際の値と、一致するはずのテーブル行を表示します。 –