Nab*_*bin 0 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
)
Run Code Online (Sandbox Code Playgroud)
道:
@Dao
abstract class MyDao : BaseDao<MyModel> {
@Query("SELECT * from my_table WHERE deletedAt IS NULL")
abstract fun getList(): LiveData<List<MyModel>>
}
Run Code Online (Sandbox Code Playgroud)
我的类型转换器:
object DateTypeConverter {
@TypeConverter
@JvmStatic// It need to added else gives unwanted data binding error :D
fun fromTimestamp(value: Long?): Date? {
return if (value == null) null else Date(value)
}
@TypeConverter
@JvmStatic
fun dateToTimestamp(date: Date?): Long? {
return date?.time
}
Run Code Online (Sandbox Code Playgroud)
但即使某些条目的 deletedAt 值为空,它也会返回所有 MyModel 数据。
尝试使用以下NULLIF检查null或empty喜欢
NULLIF(deletedAt, '') IS NULL
Run Code Online (Sandbox Code Playgroud)
完整的Query是
@Query("SELECT * from my_table WHERE NULLIF(deletedAt, '') IS NULL")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2333 次 |
| 最近记录: |