首页 > 解决方案 > 检查房间数据库中的日期是否大于今天

问题描述

您好我有一个查询,我根据 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>>

我不确定如何todays date在 where 子句中使用

请建议

编辑

实体

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

谢谢R

标签: androidsqlandroid-room

解决方案


@Query("SELECT * from product_data_table WHERE DATE(product_end_date) >= DATE('now') ")
fun getAllProductsOrderByEndDate(): LiveData<List<Product>>

推荐阅读