【发布时间】:2020-11-23 19:24:16
【问题描述】:
您好,我有一个查询,我根据 product_end_date 订购产品列表。我只想获取结束日期大于或等于今天的产品列表,我该如何在 Room 中做到这一点
这是我的查询
@Query("SELECT * FROM product_data_table ORDER BY product_end_date ASC")
fun getAllProductsOrderByEndDate(): LiveData<List<Product>>
我想做
@Query("SELECT * FROM product_data_table WHERE product_end_date >= date('now') ORDER BY product_end_date ASC")
fun getAllProductsOrderByEndDate(): LiveData<List<Product>>
我不确定如何在 where 子句中使用 todays date
请推荐
编辑
实体
@Entity(tableName = "product_data_table")
data class Product(
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "product_id")
var id: Int,
@ColumnInfo(name = "product_name")
var name: String,
@ColumnInfo(name = "product_catagory")
var catagory: String,
@ColumnInfo(name = "product_end_date")
var end_date: Date
)
谢谢 回复
【问题讨论】:
-
你能分享你的
Product实体和类型转换器(如果使用的话)吗? -
@Sdghasemi 我用实体编辑了我的问题
-
您如何将
Date转换为SQLite 可读格式,如INTEGER? -
显示它我做
product.end_date.toString()
标签: android sql android-room