【问题标题】:date between query issue in sqlite3sqlite3中查询问题之间的日期
【发布时间】:2014-04-10 17:55:20
【问题描述】:

在我的数据库中,我存储了一个学生数据,日期格式为 07-03-2013(dd-mm-yyyy)。例如开始日期大于结束日期,结果中不返回行。

例如

从 general_details 中选择 student_name,其中 join_date 介于 '11-02-2013' 和 '08-03-2013' 之间

返回 0

如果开始日期小于结束日期

从 general_details 中选择 student_name,其中 join_date 在 '01-02-2013' 和 '08-03-2013' 之间

它返回行值1;

请推荐,提前谢谢

【问题讨论】:

    标签: c sqlite


    【解决方案1】:

    日期按字母顺序进行比较,而不是日期时间戳。

    如果您可以影响日期的存储方式,请使用 ISO-8601 yyyy-MM-dd 或 unix epoc 时间戳等格式进行比较。

    如果不能影响数据,可以通过substr()提取组件并与||连接在一起来转换SQL中的值,如下所示:

    substr(join_date,7,4) || substr(join_date,4,2) || substr(join_date,1,2)
    

    【讨论】:

      猜你喜欢
      • 2023-02-24
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 2011-08-14
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多