如何在我的sqlite数据库中保存任何时间(格式:HH:MM:SS)? 我不需要约会,只需要时间。
答案 0 :(得分:1)
SQLite没有日期时间storage format 您可以使用不同类型的字段来存储和函数来读取值。
尝试将其存储为具有所需格式的字符串。它应该工作。
答案 1 :(得分:0)
DATE
和DATETIME
SQL类型都作为NUMERIC
类型存储在SQLite中。除了使用CAST之外,NUMERIC
类型几乎与INTEGER
相同。因此,剥离日期和仅存储时间没有太大的优势,如整数所说 - 它不会对底层存储产生影响。
继续存储DATETIME
,并仅在您的演示文稿图层中提取当天的时间,以显示时间。更严格的是,始终将日期设置为常量,例如纪元,只添加一天的时间。然后,您可以在必要时将unixepoch
修饰符与SQLite date functions一起使用。
例如,
SELECT time(1092941466, 'unixepoch', 'localtime');
计算时间给定时间戳为1092941466(包括日期),补偿您当地的时区,并仅显示当天的时间部分:
Example output: 04:51:06
答案 2 :(得分:0)
您可以使用触发器更新DATETIME字段以仅包含时间或日期。例如,您可以创建一个触发器来插入表名“logs”以优化时间和日期字段,如下所示:
CREATE TRIGGER "on_insert_logs" AFTER INSERT ON "logs"
BEGIN
UPDATE logs SET time = time(time(), 'localtime') WHERE id = new.id;
UPDATE logs SET date= date(date(), 'localtime') WHERE id = new.id;
END