我有一个奇怪的问题,在从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
。