如何在 SQLite 表中插入日期和查询日期

Posted

技术标签:

【中文标题】如何在 SQLite 表中插入日期和查询日期【英文标题】:How to insert date and Query date in SQLite table 【发布时间】:2013-10-17 17:54:08 【问题描述】:

我对SQLite的处理日期不熟悉。

问题:

    我可以这样插入日期还是使用 DateTime 插入任何日期来创建。

    Order_Date = DateTime.Today

如何:

a) 如何使用选择或查询记录集基或 Order_Date ?

b) 如何根据日期范围选择或查询记录集?从这个日期到这个日期。

谢谢

上课顺序 [主键,自动增量] 公共 int SId 获取;放; 公共 int CustId 获取;放; 公共字符串没有得到;放; 公共字符串客户获取;放; 公共日期时间 Order_Date 获取;放; 使用 (var db = new SQLite.SQLiteConnection(DBPath)) var newOrder = 新订单() CustId = g_intCustId, 客户 = txtBlkCustomer.Text.Trim(), Order_Date = DateTime.Today ; db.Insert(newOrder); ----- 更新: 1)我想知道将日期插入到表中的 dateTime DataType 字段中的正确方法是什么?使用来自 DateTime.Today、DateTime.Now 的日期 2)输入日期时需要在SQLite表中添加哪些字段 a) 正常日期格式 (dd/mm/yyyy) b) 格式如:日期与 HHMMSS 3)如何查询或选择(2a)和(2b)的日期? 谢谢

【问题讨论】:

【参考方案1】:

我可以这样插入日期还是使用 DateTime 插入任何日期来创建。 Order_Date = DateTime.Today

是的,DateTime.Today 虽然插入会起作用。 SQLite 在内部将 DateTime 对象存储为字符串。

如何使用选择或查询记录集基或 Order_Date ?

using (var db = new SQLite.SQLiteConnection(ApplicationData.Current.LocalFolder.Path + "\\aaa.sqlite"))

    // You can use any one
    var list2 = db.Query<Order>("SELECT * FROM Order WHERE Order_Date = datetime('2013-10-01')", "");

    var list3 = db.Query<Order>("SELECT * FROM Order WHERE Order_Date = ?", DateTime.Today.AddDays(-5));

如何根据日期范围选择或查询记录集?从这个日期到这个日期。

using (var db = new SQLite.SQLiteConnection(ApplicationData.Current.LocalFolder.Path + "\\aaa.sqlite"))

    // You can use any one
    var list = db.Query<Order>("SELECT * FROM Order WHERE Order_Date BETWEEN datetime('2013-10-01') AND datetime('2013-10-07')", "");

    var list1 = db.Query<Order>("SELECT * FROM Order WHERE Order_Date BETWEEN ? AND ?", DateTime.Today.AddDays(-9), DateTime.Today.AddDays(-3));

SQLite Date And Time Functions

【讨论】:

datetime('2013-10-07') 不是没有意义吗?这将返回'2013-10-07 00:00:00'2013-10-07 12:00:00 的订单怎么样?它将无法查询! 我使用了datetime('2013-10-07'),因为 OP 将订单日期传递为DateTime.Today 而不是DateTime.Now 所以,最好使用date()!并使用文字'2013-10-07',因为函数调用没有做任何事情! SQLite 的 date() 和 datetime() 有什么不同吗?文字后面必须跟 year,Day,Month(英国日期)或美国日期 :year,Month,Day。我不确定。 date() 只会解析日期,它不会接受时间。 Fot文字格式请看this【参考方案2】:

浏览下面的链接

Windows Phone 7 Native Database Programming via Sqlite Client for Windows Phone

SQLite-WinRT: Database programming on Windows Phone and Windows 8

How to use SQLite in Windows Phone

希望对你有帮助

【讨论】:

我可以在 WinRT 应用程序中同时使用 SQLite-Net 和 SQLite-WinRT 来创建相同的 SQLite 数据库吗? @MilkBottle:是的,但我的建议是你使用 Windows Phone 7 Native Database Programming via Sqlite Client for Windows Phone.bcos 这对你来说变得非常容易

以上是关于如何在 SQLite 表中插入日期和查询日期的主要内容,如果未能解决你的问题,请参考以下文章

如何使用查询在 mysql 数据库中插入日期范围?

如何在 Xamarin Forms 中将日期、日期时间和时间保存到 SQLite 数据库?

如何在 Android 应用程序中插入日期时间设置为“现在”的 SQLite 记录?

在python3中将日期值存储到sqlite表中

如何将带时区的日期时间插入 SQLite?

如何将日期时间值插入 SQLite 数据库?