【问题标题】:How to query if the day of the start date > the day of the end date?如何查询开始日期的日期>结束日期的日期?
【发布时间】:2020-11-16 10:46:12
【问题描述】:

我在 Android 中使用 LocaleDate.now 根据一周的开始日期和一周的结束日期从 Sqlite 获取数据。例如,如果开始日期是 20/07/2020,那么结束日期将是 26/07/2020。我将从 20/07/2020 和 26/07/2020 之间的日期范围获取数据。我的代码运行良好,直到今天,我得到本周的开始日期是 27/07/2020,结束日期是 02/08/2020。我很惊讶,因为我无法从 sql 获取数据,所以我进行了调试,我意识到 Sqlite 无法从 27/07/2020 到 02/08/2020 之间的日期范围获取数据。我认为如果开始日期(27)的日期>结束日期(2)的日期,那么 Sqlite 无法查询它。如何解决这个问题?

SELECT name 
FROM date_detail  
where date BETWEEN '27/07/2020' and  '02/08/2020'
//not show me anything

【问题讨论】:

    标签: android sql sqlite date


    【解决方案1】:

    我认为您可以通过将日期以另一种格式(例如“yyyy-mm-dd”或带有时间戳)保存到数据库中来解决这个问题,这样它就可以选择两个日期之间的日期。

    【讨论】:

    • 将格式更改为 yyyy-mm-dd 解决了我的问题。谢谢