我有SQLite数据库表tasks
(在我自己的项目管理系统,又名任务)。我有列start_date
这是在几秒钟内任务的启动时间戳记。然后,列lifetime
- 时间,以秒与任务工作。
我需要写一个SQL查询来获取这仍然是开放的任务。我需要
startdate + lifetime < today's timestamp
我用“UNIX的开始”的开始时间。
看起来像:
tasks.start_date tasks.lifetime functionToCalculateSecondsFromUnixBirthday
1551528199281 + 8650010 > 1551566849291
我试过了:
SELECT *
FROM tasks
WHERE (tasks.start_date + tasks.lifetime) > strftime('%s','now');
从任务返回所有的结果集,可能与算术语法的东西吗?
表声明:
CREATE TABLE IF NOT EXISTS `tasks`
(
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
`name` TEXT,
`project_id` INTEGER,
`start_date` TEXT,
`lifetime` TEXT,
`targetinfo` TEXT
);
1551566849291包括毫秒,而strftime('%s','now')
是只有几秒钟。
这是1549308478 strftime('%s','now')
结果,因此将会比1551566849291相当低。
也许使用: -
SELECT *
FROM tasks
WHERE (tasks.start_date + tasks.lifetime) > (strftime('%s','now') * 1000);