SQLite 存储当前日期,默认时间设置为 00:00:00

SQLite store current date with time set by defaut to 00:00:00

我有一个 SQLite table 其中一个列是:

timestamp long DEFAULT CURRENT_TIMESTAMP NOT NULL

它在数据库中存储 UTC 日期和时间以及时间。由于时间对我来说并不重要,我如何将时间默认设置为 00:00:00 来存储它?

你应该使用:

timestamp long DEFAULT CURRENT_DATE NOT NULL

顺便说一下 - 您知道这种格式存储为文本(如您所见 here)吗?
在许多情况下,尤其是当您有理由索引该字段时,当 inserting/updating

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