我对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上的区域(拉丁语或西里尔语)中选择塞尔维亚语设置时,它不起作用。原因是因为在短日期格式中,最后有一个(。)符号(ex d.M.yyyy。)。如果我在区域设置(d.M.yyyy)中的短日期结束时删除(。),那么一切正常。
现在,有人可以分享一些如何解决问题的想法,那么查询是否可以使用默认的塞尔维亚语区域设置?我想从我发布的查询中可以明显看出我追求的是什么。也许有一种不同的查询方法来实现同样的目标?
我正在使用ADO.NET和OleDbClient,并创建参数化查询。参数类型为OleDbType.Date