【问题标题】:How can i order my data Ascending by Time我如何按时间顺序排列我的数据
【发布时间】:2017-09-02 00:05:31
【问题描述】:

就像标题中所说的,我正在尝试将我的数据从 sqlite 数据库排序到升序时间。这是我目前所拥有的:

Cursor display = db.rawQuery("SELECT * FROM "+TableName  + " ORDER BY Time ASC",null );

它显示数据,但它不按照我的时间排序,格式为 ##.## 24 小时时间。希望有人能帮忙。

【问题讨论】:

  • 显示一些示例数据。
  • 能否添加数据库架构及其数据类型?

标签: android database sqlite sorting


【解决方案1】:

试试"SELECT * FROM " + tableName + " ORDER BY time(Time)"。 PS:ASC是默认的;)

【讨论】:

  • 建议但问题仍未解决。辅助类中的时间变量与我有什么关系。我的时间栏名称是时间
  • time() 是一个函数,它从您的字符串Time 中计算一个整数。对我来说它有效。请将Time 重命名为timestring,因为time 是受保护的密钥。
  • 您好 user7388968,我认为您必须学习一点基础知识,以免您不喜欢我的答案;)
【解决方案2】:

你可以使用strftime()函数:

SELECT *
FROM my_table
ORDER BY strftime('%H:%M:%S',my_column)

这里我创建了一个fiddle 作为示例。

原始查询应该是这样的:

"SELECT * FROM " + TableName + " ORDER BY strftime('%H:%M:%S'," + my_column + ")"

注意: strftime() 函数是更通用的函数,可用于操作日期。但是,对于这种特定情况,您也可以使用time()。确实,正如我链接的文件所说:

time(...) 等价于strftime('%H:%M:%S', ...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 2019-10-10
    相关资源
    最近更新 更多