Je ne peux pas comprendre la syntaxe de l'appel .query. Je dois sélectionner tous les enregistrements qui correspondent à une certaine colonne qui n'ont pas de valeur nulle ou vide pour une deuxième colonne (différente)
ma meilleure tentative:
Cursor cursor = mDatabase.query(DatabaseOpenHelper.TABLE_ROOMS, mAllColumns,
DatabaseOpenHelper.KEY_ROOM_HOSPITAL_ID
+ " =? AND " + DatabaseOpenHelper.KEY_ISO + " IS NOT NULL OR NOT ?",
new String[]{String.valueOf(hospitalId), ""}, null, null, null);
Cela renvoie TOUS les enregistrements. Si j'utilise AND à la place de OR, il renvoie des enregistrements correspondant à hospitalId, mais ignore la partie NOT NULL OR NOT "".
Des conseils? Dois-je utiliser un appel rawQuery?
Je crois que la syntaxe correcte serait:
AND key IS NOT NULL AND key != ""
où key
est votre colonne
Si plusieurs espaces peuvent se trouver dans votre colonne et que vous souhaitez également les traiter comme des valeurs vides, utilisez TRIM
column_name IS NOT NULL AND TRIM(column_name," ") != ""