【问题标题】:Get data between date range in SQLite在 SQLite 中获取日期范围之间的数据
【发布时间】:2017-02-16 12:57:40
【问题描述】:

我正在尝试获取日期范围之间的数据。 日期在我的数据库中保存为文本(dd-MM-YYYY 格式) 当我触发以下查询结果时为空。

SELECT * FROM appointment_table WHERE date BETWEEN cast( '08-02-2017' as datetime ) AND cast( '16-02-2017' as datetime ) AND barber_id = 36

当日期以文本格式保存时,无论日期格式如何,获取日期范围之间数据的正确方法如下

SELECT * FROM appointment_table WHERE date BETWEEN '08-02-2017' AND '16-02-2017' AND barber_id = 36

【问题讨论】:

  • 您将范围转换为日期时间,但日期列仍然是文本。可能没有意义
  • 看这个话题的回复:stackoverflow.com/questions/14207494/…
  • 我认为您需要将日期更改为“2017-02-08”
  • @MaheshwariReddy 您是否在 SQL 中运行以检查它是否返回任何数据?
  • @RahulGiradkar 这没有意义。

标签: android sqlite datetime between


【解决方案1】:

您需要使用此处描述的 SQLite 支持的格式之一才能使用 BETWEEN: http://www.sqlite.org/lang_datefunc.html

所以您的查询应该变成:(将 DD-MM-YYYY 字符串转换为 YYYY-MM-DD 日期)

SELECT * FROM appointment_table WHERE barber_id = 36 AND (date BETWEEN '2017-02-08' AND '2017-02-16')

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多