【问题标题】:PHP sqlite sql issuePHP sqlite sql问题
【发布时间】:2020-05-17 16:41:21
【问题描述】:

我有一个数据库,其中包含一个使用文本的日期/时间字段。它的类型为DATE/TIME。在 DB 浏览器中查看时,它看起来像“2020-01-21 19-33-22Z”。我想按DESC 日期/时间顺序订购表格。使用 DB Browser,我可以执行如下所示的 SQL 语句:

SELECT * FROM LOG ORDER BY QSODATE DECS

该语句在 DB Browser 中有效,但在我的 PHP 7.3.6 环境中无效。当我运行 PHP 程序时,我没有收到任何错误,我确实获得了与表的连接,并且可以从表中提取数据,但顺序不正确。订单看起来像没有调用订单的原始表。

编辑 2020 年 1 月 2 日 从数据库浏览器: 结果:7251 行在 2480 毫秒内返回 在第 1 行: SELECT * FROM LOG ORDER by qsodate DESC

这会导致不正确的部分顶行: 20200122192000960 xx3xxx 40m FT8 2020-01-21 22:35:00Z

整个记录将毫无意义,但这个 sn-p 包含我试图设置订单的日期和时间。现在我看到当我输入第一个示例时,我在“DESC”中交换了两个字母。对不起。

但是应该在顶部的日期/时间是:2020-01-31 18:26:00Z

示例中的日期/时间是未排序的日期/时间。

PHP 代码行是:

$result = $connection->query("SELECT * FROM LOG ORDER by qsodate DESC");

【问题讨论】:

  • 问题中的 sqlite sn-p 给出了语法错误,并且不会在 DB Browser 或 php 中运行。重要的是要查看 1) 在 php 中实际执行的查询和 2) 返回的一些显示错误顺序示例的数据。您可以编辑此问题以提供更多信息。
  • 你是对的。这是来自 DB Browser 的剪切和粘贴:
  • sqlite does not have a date/time datatype。这种2020-01-21 22:35:00Z 格式的数据将作为字符串排序。我理解正确吗:DB Browser 返回的第一行在 qsodate 中有 2020-01-21 22:35:00Z。但是您希望它返回以 qsodate = 2020-01-31 18:26:00Z 作为第一行的行吗?我最初以为您是说 DB Browser 和 php 现在以不同的顺序返回行我认为您的意思是两者都以“错误”的顺序返回行?你能澄清一下吗?您确定 qsodate 是正确的列吗?
  • 是的 'qsodate' 是正确的列。我是一名业余无线电操作员,这些数据包含在我用来跟踪联系人的应用程序中。 sqlite 数据文件是数据文件的直接无转换副本。 DB Browser 告诉我列是 DATETIME 并且表中有两种数据类型。此外,数据库中嵌入的索引之一包括“qsodate”。是的 - 在 DB Browser 和我的 PHP 应用程序中,顺序是相同的。在管理数据库的应用程序 (Log4OM) 中,序列从 2020-01-31 日期开始。
  • 如果列以空白开头,则 2020-01-31 日期不会排在最前面。肉眼可能很难检测到,但计算机却检测不到。期望所有行的 qsodate 长度为 20。像select length(qsodate), count(*) from log GROUP BY length(qsodate) 这样的 sql 确认了吗?

标签: php sql sqlite


【解决方案1】:

如果您可以将 qsodate 转换为 valid sqlite timestring(即“2020-01-21 19:33:22Z”,那么您可以将其转换为 unixepoch 并按时间顺序排序。

SELECT * FROM LOG ORDER by strftime('%s',qsodate) DESC

供参考……

select strftime('%s',"2020-01-21 19:33:22Z") 'unixepoch'

Unixepoch
----------
1579635202

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-15
    • 2011-07-01
    • 1970-01-01
    • 2011-01-07
    • 2014-02-24
    • 1970-01-01
    • 2011-07-29
    • 2011-10-12
    相关资源
    最近更新 更多