SQLite - 订购

时间:2011-03-24 15:55:41

标签: sqlite sorting

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

我的SQL语句是这样的:

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

我的日期存储在数据库中,范围最远为2111.但是,返回数据的顺序表示2036年的日期发生在2111之后。 列'usersDate实际上是一个双倍(自1970年/ unix时间以来的时间间隔) - 因此是投射的原因。

有谁知道会导致什么?

1 个答案:

答案 0 :(得分:3)

您应该重新阅读date and time syntax'localtime'修饰符需要左侧的UTC时间。

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