Если знак представляет собой строку, относящуюся к столбцу TEXTual (например, varchar), вам понадобятся кавычки вокруг него в большинстве СУБД.
public Cursor fetchAllCatagoryForSign(String sign) {
String signSelect="";
if(sign!=null){
signSelect=" WHERE " + CATAGORY_SIGN + "='" + sign.Replace("'","''") + "'";
}
return mDb.rawQuery("SELECT " + CATAGORY_ID + "," +
" " + CATAGORY_NAME + "," +
" " + CATAGORY_SIGN + " FROM "
+ CATAGORY_TABLE + signSelect +
" ORDER BY " + CATAGORY_NAME + " DESC", null);
}
@ обновлено после примечания GolezTrol
Если категориязнак приходит от пользователя из всего мира, эти фрагменты кода будут открыты для внедрения SQL-кода, и в этом случае вы захотите защитить переменную «знак» с помощью .Replace, как показано в коде.