我有一个奇怪的问题,在从SQLite数据库中选择信息时,基于日期的ans排序,返回的结果无效。

我的SQL语句是这样的:

Select pk from usersDates order by datetime(usersDate, 'localtime') ASC


我将日期存储在数据库中,范围最远为2111。但是,返回数据的顺序表明2036年的日期发生在2111年的日期之后。
“ usersDate”列实际上是一个double(自1970年以来的时间间隔/ Unix时间)-因此进行了强制转换。

有谁知道这会导致什么?

最佳答案

您应该重新阅读date and time syntax'localtime'修饰符期望在其左侧的UTC时间。

使用SELECT pk FROM usersDates ORDER BY datetime(usersDate, 'unixepoch', 'localtime') ASC

07-25 23:50