23

I cannot figure out the syntax for the .query call. I need to select all records that match a certain column that do not have a null or empty value for a second (different) column

my best attempt:

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);

This is returning ALL records. If I use AND in place of OR, it returns records matching hospitalId, but ignores the NOT NULL OR NOT "" part.

Any tips? Should I use a rawQuery call?

2 Answers 2

72

I believe the correct syntax would be:

AND key IS NOT NULL AND key != ""

where key is your column

Sign up to request clarification or add additional context in comments.

Comments

6

If multiple spaces can be in your column and you also want to treat them as empty values use TRIM

column_name IS NOT NULL AND TRIM(column_name," ") != ""

1 Comment

Or even TRIM(column_name) since space is used as the trim character by default.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.