如何检查BLOB是否为空

Ale*_*llo 5 sql sqlite android

如果列类型为Blob,如何检查SQLite数据库中列的值是否为空?

我正在像这样获取游标:

public Cursor fetchArticle(int i) throws SQLException {
    Cursor mCursor = mDatabase.query(true, "api_content",
        new String[] { "_id", "ArticleName",     "ArticleText","ImageLink", "Image" },
        KEY_ID + "=" + i, null, null, null, null, null);
    if (mCursor != null) {
        mCursor.moveToFirst();
    }
    return mCursor;
}
Run Code Online (Sandbox Code Playgroud)

如何检查Image列索引4的值是否为空?我尝试了以下方法:

  • 使用isNull()方法,当实际上该值最应该为null时,该方法始终返回false
  • 使用articleCursor.getBlob(4) == null,哪里articleCursor是有效的游标(返回false)

使事情变得更加复杂的是,当我打印时articleCursor.getBlob(4)[0],它返回诸如78或的值91,这些值与我考虑的任何值都不相似null

同样,数据库不可能在该列中包含任何数据。它必须为空。有任何想法吗?谢谢!

小智 -2

请查找以下查询来获取值 Y 或 N

select id, 
 case
      when myblob is not null then 'Y'
      else 'N'
 end,
 myblob
Run Code Online (Sandbox Code Playgroud)

如果 blob 为 null,则返回 N,否则返回 Y。