我有一个SQLite表,其中一列是:
timestamp long DEFAULT CURRENT_TIMESTAMP NOT NULL
它在数据库中存储UTC日期和时间以及时间。由于时间对我来说并不重要,如何通过defaut设置为00:00:00的时间来存储它?
答案 0 :(得分:1)
您应该使用:
timestamp long DEFAULT CURRENT_DATE NOT NULL
顺便说一下 - 你知道这种格式是作为文本存储的(你可能会看到here)吗?在许多情况下,特别是当你有理由索引这个字段时,它会更有效率使用INTEGER时,只需注意并在插入/更新时放置低级长日期/时间表示
答案 1 :(得分:1)
built-in date functions允许以您希望的方式修改日期值:
timestamp text DEFAULT (date('now', 'start of day')) NOT NULL
如果要将值存储为数字,可以进行适当的转换:
timestamp long DEFAULT (strftime('%s', 'now', 'start of day')) NOT NULL