android - 查询不同格式的 SQLite 日期

标签 android sqlite android-sqlite

我的 SQLite 表中有以非标准日期格式存储的日期。我需要能够由他们查询。例如,今天日期的记录是“日期”列中的 11/1/2015 和“sortDate”列中的 2015-11-1

我的查询需要返回过去一周的记录数。以下不返回任何内容:SELECT count(*) FROM Grades WHERE sortDate BETWEEN '2015-10-24' AND '2015-11-02'

我也没有从 SELECT count(*) FROM Grades WHERE sortDate BETWEEN datetime('now', '-7 days') AND datetime('now')

中得到任何结果

我认为问题是我的日期没有填充为始终有 2 个月份或日期数字,如 YYYY-MM-DD 中所示。我该如何查询这些非标准格式的现有数据?

最佳答案

作为 SQLite doesn't have a date type您将需要进行字符串比较才能实现此目的。为此,您需要颠倒顺序 - 例如从 dd/MM/yyyy 到 yyyyMMdd,使用类似

的内容
where substr(column,7)||substr(column,4,2)||substr(column,1,2) 
      between '20101101' and '20101130'

关于android - 查询不同格式的 SQLite 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33470265/

相关文章:

android:theme ="@android:style/Theme.Translucent.NoTitleBar"导致我的 Activity 崩溃

java - SQL 到 JOOQ 翻译 : type error

android - 如何按desc顺序从sqlite中检索数据并在textview中显示

android - 使用默认值插入sqlite

安卓网页 View 。键盘隐藏

sqlite - 将集合绑定(bind)为 "where col in ?"子句的右侧

java - Sqlite + Android 行结果中的空列

java - 从 SQLite 数据库读取数据到一个新的 Activity - Android Studio

java - 从 AsyncTask 实例快速更新 sqlite 数据库是否可取?我在服务中收到 ANR

Android - XML 按钮丢失了吗?