java - 如何仅显示 Room 数据库中存储的特定年份的日期?

标签 java date android-room dao

我使用 MVVM 结构并以 12.05.2020 等格式将日期存储在数据库中。我想获取特定年份的所有日期,例如 2020 年。 我当前的 DAO 查询如下所示:

@Query("SELECT * FROM Sorted WHERE date = :date")
LiveData<List<Sorted>> getSortedWhereDateIs(String date);

如何从整个日期中仅选出年份或月份?感谢您的帮助。

最佳答案

检查这是否有效 -
1. 从用户输入中提取年份
2. 将年份传递给您的查询

@Query("SELECT * FROM Sorted WHERE YEAR(date) = :year")
LiveData<List<Sorted>> getSortedWhereDateIs(Integer year);

对于月份,您可以使用MONTH(fullDate)

关于java - 如何仅显示 Room 数据库中存储的特定年份的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61576152/

相关文章:

java - 使用 Java Spring 启用 https 的问题

java - 如何模拟本地创建的对象?

javascript - 使用函数格式化日期时出错

php - 选择所有年份的日期

android - 升级数据库版本时,数据不会与 Room Persistence Library 保持一致

java - Android 中的 SQLite 按 AM/PM 时间排序

java - SharedPreferences 始终返回自定义对象的默认值

php - Laravel/Carbon Timestamp 0000-00-00 00 :00:00 or Unexpected data found. 发现意外数据。数据缺失

android-room - 调用 getValue() 后 LiveData 对象一直为空

java - 数据库到 GUI 或数据库到对象到 GUI