我从这个链接中找到了这个:
http://www.sqlite.org/datatype3.html
1。1日期和时间数据类型
SQLite没有存储类 留出用于存储日期和/或 倍。相反,内置的日期和 SQLite的时间函数是有能力的 将日期和时间存储为TEXT, REAL或INTEGER值:
TEXT 为ISO8601字符串(“YYYY-MM-DD HH:MM:SS.SSS“)。
作为朱利安日,真实 数字,自中午以来的天数 公元前4714年11月24日在格林威治 根据预感格里高利安 日历。
INTEGER 作为Unix时间, 自1970-01-01以来的秒数 00:00:00 UTC应用可以选择 在任何一个中存储日期和时间 这些格式和自由转换 使用内置格式之间的格式 日期和时间函数。日期和时间函数。
我有点困惑,我应该使用它。我正在创建一个Windows Forms C#应用程序,并将使用构建的DateTime
控件。
哪种选择最适合我?我想TEXT
会,但也许我错了。我是SQLite的新手。
谢谢。
答案 0 :(得分:3)
我假设你正在使用System.Data.SQLite?即使SQLite本身无法识别日期时间数据类型,此数据提供程序也会识别它。
例如,如果使用SQLiteDataAdapter使用select语句填充数据表,则如果列的数据类型为datetime,则返回的数据列将为datetime。
提供程序存在限制:当select包含多个表时,它无法猜测数据类型。在这种情况下,您可以通过在此前面添加查询来声明返回的数据类型:
types [integer], [text], [boolean], [datetime];
select A.id, A.subject, B.isactive, B.due_date from ...
提供商将数据存储为2009-04-01 17:42:38.828125
等文本。 SQLite适用于这种格式,例如你可以用第二天计算:
select datetime('2009-04-01 17:42:38.828125', '+1 days');
编辑:您将数据类型指定为日期时间,如下所示:
create table C ( d datetime );
答案 1 :(得分:0)
我一直在使用Text并且没有任何问题。