注册 登录
编程论坛 SQLite论坛

sqlite 排序时关于毫秒的bug?

heiro2020 发布于 2020-08-22 19:48, 1601 次点击
新人提问,请多指教。发帖前查询“毫秒”无果。
Sqlite表中有一timestamp型字段,保存的数据是软件获取的now值,包含毫秒。
如果有两条记录年月日时分秒都相同,只有毫秒不同。而且有一条记录的毫秒值的三个字符从0开始(000~099)这个区间。
那么就可能存在排序错误的问题。
例如下图
只有本站会员才能查看附件,请 登录

2020-08-22 13:03:08.090 明显小于
2020-08-22 13:03:08.895
但是在 orderby时,2020-08-22 13:03:08.090却在2020-08-22 13:03:08.895之后。

不知有没有什么方法可以使这个字段正确排序?
另,我用cast把时间戳转为text,结果 2020-08-22 13:03:08.090 变成了 2020-08-22 13:03:08.90
估计这就是为何Sqlite把 2020-08-22 13:03:08.090 排在 2020-08-22 13:03:08.895 之后的原因?
0 回复
1