在SQLIte3中存储和检索GPS值

时间:2013-05-04 04:21:47

标签: sqlite mojolicious

我想在SQLITE3中存储GPS值,如纬度,经度和时间戳值。对于纬度和经度,我的架构类似于REAL,对于时间戳值,我的架构类似于DATETIME

已成功插入。但是当我尝试检索它时显示服务器错误,

Can't locate DateTime/Format/SQLite.pm in @INC

如何在SQLite3数据库中存储时间戳值,这是存储这些值的最佳数据类型。我想用时间戳做一些计算,如时间延迟等。

任何有用的帮助将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以将时间戳存储在Unix Time中,例如:

SELECT strftime('%s', 'now');

将返回如下内容:1367641852

结果将代表自January 1, 1970以来经过的秒数。

因此,您可以轻松地减去两个不同的时间戳,并获得两个不同时间之间的延迟秒数。

此外,您应该将时间戳的架构更改为INTEGER

答案 1 :(得分:0)

SQLite3没有DATETIME格式。相反,它具有日期时间功能。请参阅文档here

一个流行的选择是将日期时间存储为ISO格式的字符串

YYYY-MM-DD HH:MM:SS.SSS

优点是这些字符串按正确的顺序排序。

您还可以将日期时间存储为SQLite的Julian Day格式的数字,或者作为semihyagcioglu建议的Unix时间存储。