【问题标题】:Check is date is greater than today in Room database检查房间数据库中的日期是否大于今天
【发布时间】: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


【解决方案1】:
@Query("SELECT * from product_data_table WHERE DATE(product_end_date) >= DATE('now') ")
fun getAllProductsOrderByEndDate(): LiveData<List<Product>>

【讨论】:

    猜你喜欢
    • 2017-07-28
    • 1970-01-01
    • 2016-03-06
    • 2016-10-21
    • 2018-04-05
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多