在 SQLite 中,使用'datetime(CURRENT_TIMESTAMP, 'localtime')' 设置列的默认值将获取当前本地时间戳,包括年月日时分秒。默认情况下,SQLite 的时间戳没有包含微秒。如果你需要包含微秒,可以使用'strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime')' 来获取当前精确的时间。

以下是如何编写公式来创建一个包含微秒的默认时间戳列:

CREATE TABLE mytable (
  id INTEGER PRIMARY KEY,
  created_at TEXT DEFAULT (strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime'))
);

在上述示例中,'created_at' 列将包含当前的本地时间戳,包括微秒。

要查询并显示精确的时间,你可以使用'strftime' 函数来格式化输出:

SELECT id, strftime('%Y-%m-%d %H:%M:%f', created_at) AS exact_time
FROM mytable;

这将显示'exact_time' 列,其中包含了精确的时间,包括微秒。

请注意,SQLite 的精确时间戳可能会受到操作系统的限制,因此在某些情况下可能无法提供微秒级的精度。

SQLite 时间戳:获取精确时间(含微秒)及查询方法

原文地址: https://www.cveoy.top/t/topic/lACw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录