当前位置: 首页 > 知识库问答 >
问题:

SqlLiteDatabase.query按日期排序列不工作

程凯定
2023-03-14

我正在开发一个基于SqlLiteDataBase的Android应用程序。使用query方法查询数据库时,我希望按日期列升序排序。看来订货人不工作了。

Cursor cursor = db.query("myTable", // The table to query
            dbTools.tableColumns, // The columns to return
            whereClause, // The columns for the WHERE clause
            null, // The values for the WHERE clause
            null, // don't group the rows
            null, // don't filter by row groups
            "dateText" + " ASC" // The sort order
    );

调试期间的游标mQuery字段显示以下内容:

SQLiteQuery: SELECT dateText, <some other columns here> FROM myTable WHERE dateText >= '2015-10-01 00:00:00' AND dateText <= '2015-10-31 23:59:59' ORDER BY dateText DESC

(为了方便起见,我删除了不相关的列)

运行查询后,我想检查是否有任何条目,因此我调用:

if (!cursor.moveToFirst()) 

然后我做一些逻辑,每当我想移动到光标上的下一行时,我运行:

if (!cursor.moveToNext()) 

DateText列定义为DATETIME:

String query = "CREATE TABLE myTable (id INTEGER PRIMARY KEY AUTOINCREMENT, dateText DATETIME, <other columns here>)";

你能告诉我为什么分类不起作用吗?在迭代游标上的行时,这些行不会排序。例如:如果我有2015年11月1日、2日和10日的行,ASC的排序将给出以下排序: 10-

共有2个答案

芮学
2023-03-14

我想按日期列升序排序

但你的代码显示

ORDER BY dateText DESC

更改它ASC是默认选项,因此您可以删除它

ORDER BY dateText ASC
有德业
2023-03-14

在这里,我建议你尝试:

SQLiteQuery:从dateText所在的myTable中选择dateText

注意:
Dest==

祝你好运!!

 类似资料:
  • 问题内容: 我想按日期订购。 例如 我已经尝试过: 伯,这是行不通的。 我得到这个代替: 你能帮我吗? 问题答案: 如果要按日期排序, 请将其存储为日期而不是字符串。 除非您的日期字符串的格式为,否则它不会按您希望的顺序排序。 数据库可以按原样进行足够的工作,而无需人们加倍努力,因此,您应该尽可能地避免我喜欢的 SQL体操。 将其存储为日期,然后(如果需要)使用日期函数以形式获取它。 这样会比您尝

  • 问题内容: 我知道这一定是相对简单的,但是我有一个JSON数据集,我想按日期排序。到目前为止,我无处不在遇到问题。现在,我将日期存储为。如果有帮助,我可以访问jquery,但是我意识到.sort()是本机JS。提前致谢。 问题答案: 假设您有一个javascript对象数组,只需使用自定义排序功能即可: Array 方法使用回调函数对数组进行排序,该回调函数传递给数组中的元素对。 如果返回值为负,

  • 问题内容: 我正在尝试按日期顺序显示文件数组(最后修改)。 我已经完成了遍历数组并将其排序到另一个数组中的购买循环,但是有没有更简单(更有效)的方法来做到这一点? 问题答案: *从PHP 7.2.0开始, *警告 已被弃用。强烈建议不要使用此功能。 为了后代的目的,如果在接受的答案中链接的论坛帖子丢失或不清楚,则所需的相关代码为: 在我的系统上对此进行了测试,并验证了它确实可以根据需要按文件mti

  • 我有一个JTable,它有两列,文件名和日期都被修改了。我为第一列添加了name String,并为第二个dateTime列添加了。 我将dateTime列呈现为字符串。 我还启用了 编辑2 我已经测试并弄明白了。如果使用DefaultTableModel而不重写它的getColumnClass()方法,那么在使用Date或Number列时会遇到麻烦。

  • 问题内容: 我在PHP数组中有一些来自XML或JSON的数据,如下所示: 我想做的是按日期订购这两项。 当排序值位于每个项目内时,是否可以按日期排序? 我需要将日期格式转换为时间戳吗? 我不想做什么 我可以使用date并将其设置为ID,但是感觉不对,因为两个项目可以具有相同的日期,因此它不是唯一的。 问题答案: 您无需在排序之前将日期转换为时间戳,但这是一个好主意,因为如果不使用它,将需要更多的时

  • 问题内容: 我有一个来自Type的列表,我想按日期元素对该列表进行排序。我用谷歌搜索,看到了一些具有可比性的解决方案,但是有可能在不实现我的类的接口的情况下做到这一点吗?我的列表如下所示:list [{id = 33,text = test1,date = 06.02.15},{id = 81,text = test2,date = 10.01.15}]现在,我想将两者进行比较元素,并希望按日期降