.query呼び出しの構文を理解できません。 2番目の(異なる)列にnullまたは空の値がない特定の列に一致するすべてのレコードを選択する必要があります
私の最善の試み:
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);
これはすべてのレコードを返します。 ORの代わりにANDを使用すると、hospitalIdに一致するレコードが返されますが、NOT NULL OR NOT ""の部分は無視されます。
任意のヒント? rawQuery呼び出しを使用する必要がありますか?
正しい構文は次のようになると思います:
AND key IS NOT NULL AND key != ""
ここで、key
はcolumnです
列に複数のスペースを含めることができ、それらも空の値として扱いたい場合は、TRIM
を使用します
column_name IS NOT NULL AND TRIM(column_name," ") != ""