0

我对 MS Access ADO OleDb 查询有点生疏,所以希望有人能提供帮助。我在 MSAccess 中有一个 DateTime 字段,它存储日期和时间。我想返回提供的日期范围内的所有记录,并且我想按不同的日期分组。

例子:

SELECT DATEVALUE(p.DateField), SUM(c.SomeField)
FROM ParentTable p INNER JOIN ChildTable c ON p.Id = c.ParentId
WHERE DATEVALUE(p.DateField) BETWEEN DATEVALUE(@DateFrom) AND DATEVALUE(@DAteTo)
GROUP BY DATEVALUE(p.DateField)

此查询适用于我尝试过的大多数语言,但当在 Win8 上的区域(拉丁语或西里尔语)中选择塞尔维亚语设置时,它不起作用。这是因为在短日期格式的末尾有一个 (.) 符号(例如 dMyyyy.)。如果我在区域设置 (dMyyyy) 中的短日期结束时删除该 (.),那么一切正常。

现在,有人可以分享一些如何解决问题的想法,以便查询使用默认的塞尔维亚区域设置吗?我想从我发布的查询中可以明显看出我所追求的。也许有不同的查询方法来实现相同的目的?

我正在使用 ADO.NET 和 OleDbClient,并创建一个参数化查询。参数类型为 OleDbType.Date

4

0 回答 0