我正在创建 Android 应用程序,需要保存创建记录的日期/时间。然而,SQLite 文档说,“SQLite 没有为存储日期和/或时间而预留的存储类”,并且它“能够将日期和时间存储为 TEXT、REAL 或 INTEGER 值”。
使用一种类型而不是另一种类型是否有技术原因?单个列可以以三种格式中的任意一种逐行存储日期吗?
我稍后需要比较日期。例如,在我的应用程序中,我将显示日期 A 到日期 B 之间创建的所有记录。我担心没有真正的 DATETIME 列可能会使比较变得困难。
SQlite 没有特定的日期时间类型。您可以使用TEXT
, REAL
or INTEGER
类型,无论哪种都适合您的需求。
直接来自 DOCS
SQLite 没有专门用于存储日期和/或时间的存储类。相反,SQLite 的内置日期和时间函数能够将日期和时间存储为 TEXT、REAL 或 INTEGER 值:
- TEXT 作为 ISO8601 字符串(“YYYY-MM-DD HH:MM:SS.SSS”)。
- REAL 作为儒略日数,即自公元前 4714 年 11 月 24 日格林威治中午以来的天数。根据公历。
- INTEGER 作为 Unix 时间,自 1970-01-01 00:00:00 UTC 以来的秒数。
应用程序可以选择以任何这些格式存储日期和时间,并使用内置的日期和时间函数在格式之间自由转换。
SQLite 内置日期和时间函数可以在这里找到.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)