以毫秒为单位的 SQLite 当前时间戳?

新手上路,请多包涵

我在 SQLite3 列中将时间戳字段存储为 TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP 我想知道是否有任何方法可以在时间戳中包含毫秒?

原文由 Takkun 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

而不是 CURRENT_TIMESTAMP ,使用 (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')) 以便您的列定义变为:

 TIMESTAMP DATETIME DEFAULT(STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))

例如:

 CREATE TABLE IF NOT EXISTS event
(when_ts DATETIME DEFAULT(STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')));

原文由 LS_ᴅᴇᴠ 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是一个查询,它将以毫秒为单位生成时间戳:

  select strftime("%Y-%m-%d %H:%M:%f", "now");

如果你真的很想使用数字表示,你可以使用:

 select julianday("now");

原文由 David Marx 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进