【发布时间】:2021-04-21 05:05:03
【问题描述】:
我正在尝试在 sqlite3 数据表中选择过去五分钟内已插入或更新的任何记录,其中日期列 updated_at 的格式为 YYYY-MM-DD HH:MM:SS:
CREATE TABLE IF NOT EXISTS emp_tb(
emp_id INTEGER PRIMARY KEY NOT NULL,
emp_names TEXT NOT NULL,
emp_number TEXT NOT NULL UNIQUE,
ent_id INTEGER NOT NULL,
active INTEGER NOT NULL DEFAULT "0",
updated_at TEXT NULL DEFAULT (datetime('now', 'localtime')),
syncstatus INTEGER NOT NULL DEFAULT "0")
我尝试了以下方法,但它返回当天的任何记录,不一定在过去 5 分钟内更新或根本没有:
SELECT emp_id, emp_names FROM emp_tb WHERE ent_id = ? \
AND date(updated_at) = date('now') AND time(updated_at) >= time('now','-5 minutes')
SELECT emp_id, emp_names FROM emp_tb WHERE ent_id = ? \
AND datetime(updated_at) >= datetime('now','-5 minutes')
SELECT emp_id, emp_names FROM emp_tb WHERE ent_id = ? \
AND updated_at >= datetime('now','-5 minutes')
我知道如何在 Mysql 中执行此操作,但是如何在 Sqlite3 中查询最近五分钟内更新或插入的记录的时间?
【问题讨论】:
-
实际上您的最后 2 个查询应该可以正常工作。运行它们时会发生什么?
-
他们返回一条记录,但该记录的时间超过了 5 五分钟。日子还是一样。
-
你能包括样本输入和输出吗?
标签: sqlite date datetime select