Java 检查房间数据库中的列是否为空
我想获取Java 检查房间数据库中的列是否为空,java,android,kotlin,android-room,kotlin-coroutines,Java,Android,Kotlin,Android Room,Kotlin Coroutines,我想获取MyModel的列表,其deletedAt值为NULL。 这是我的桌子: @Entity(tableName = "my_table") data class MyModel( @PrimaryKey @ColumnInfo(name = "id") var id: String, @ColumnInfo(name = "deletedAt") var deletedAt: Date? = null ) 道: 但即使某些条目的deletedAt值
MyModel
的列表,其deletedAt
值为NULL
。
这是我的桌子:
@Entity(tableName = "my_table")
data class MyModel(
@PrimaryKey
@ColumnInfo(name = "id")
var id: String,
@ColumnInfo(name = "deletedAt")
var deletedAt: Date? = null
)
道:
但即使某些条目的deletedAt值为null,它也会返回所有MyModel数据。尝试使用
NULLIF
检查null
或empty
,如下所示
NULLIF(deletedAt, '') IS NULL
完成查询
是
@Query("SELECT * from my_table WHERE NULLIF(deletedAt, '') IS NULL")
您可以在模型类中使用
@ColumnInfo(name = "user_name")
@NonNull private String strname;
只要写
@Query("SELECT * from my_table WHERE deletedAt IS NULL")
一个常见的错误是像null一样编写
确保您的数据类是
data class(
val id : Long,
val deletedAt : Long?
/....
}
您的查询似乎有误,您是在检查createdAt null还是deletedAt?我想应该是@Query(“从我的表中选择*,其中deletedAt为NULL”)。
对不起,我已经更新了我的问题。
@Query("SELECT * from my_table WHERE deletedAt IS NULL")
data class(
val id : Long,
val deletedAt : Long?
/....
}