SQLite日期时间函数的分辨率是多少?

时间:2016-07-15 22:21:47

标签: sql sqlite datetime

查看函数here。格式显示毫秒(0.001)可用的小数秒,但它是否精确到毫秒?我无法在任何文档中找到这些调用的解析。

2 个答案:

答案 0 :(得分:1)

https://www.sqlite.org/datatype3.html#section_2_2

  

SQLite没有为存储日期留出的存储类   和/或时间。相反,SQLite的内置日期和时间函数   能够将日期和时间存储为TEXT,REAL或INTEGER   值:

     

TEXT as ISO8601 strings(“YYYY-MM-DD HH:MM:SS.SSS”)。

     

真实的朱利安日数字,即11月中旬格林威治中午以来的天数   公元前24,4714根据公历格里高利历。

     

INTEGER as Unix Time,自1970-01-01 00:00:00 UTC以来的秒数。   应用程序可以选择在任何这些中存储日期和时间   使用内置日期格式和格式之间自由转换   时间函数。

您可以使用ISO8601字符串达到最高分辨率。这些字符串的准确性应该没有问题,只要你没有混合存储表示。

答案 1 :(得分:1)

这取决于日期格式。

INTEGER数字精确到秒。

TEXT值精确到毫秒。您可以在小数秒字段中指定更多数字,但内置函数将在前三个字段后忽略所有数字。

朱利安日数的分辨率优于毫秒,但在格式化时,内置函数不会输出超过三个小数位数。