用于在所选日期内选择数据的MS Access语句

时间:2010-09-01 03:32:22

标签: c# ms-access

我需要一个语句来从MS Access数据库表中选择数据。

在所选日期之内

我的GUI中有两个文本框,名为StartDate和EndDate

我想在这两个日期中选择数据。

我尝试了两种方法。

第一个是

" DAY(V.RegDate) between " + Start.ToString("dd") 
    + " and " + End.ToString("dd");
" and MONTH(V.RegDate) between " + Start.ToString("MM") + " and " 
    + End.ToString("MM");
" and YEAR(V.RegDate) between " + Start.ToString("yyyy") + " and " 
    + End.ToString("yyyy");

V.RegDate是数据库中的日期列。

但是当我选择01/08/2010和01/09/2010而且在2010年8月25日有一些数据时它没有返回数据。

我认为那是因为我分开选择日期,因为2个日期是相同的, 什么都不给我回报

我尝试过另一种方式......

" V.RegDate between #" + Start.ToString("dd/MM/yyyy") + "# and #" _
    + End.ToString("dd/MM/yyyy") + "#";

这也没有给我任何回报

任何想法????

1 个答案:

答案 0 :(得分:2)

这种模式对我有用:

SELECT sometable.somedate
FROM sometable
WHERE (((sometable.somedate) Between #2/1/2010# And #4/1/2010#));

(在这种情况下,它是MDY,我通常更喜欢ISO-ish风格 - YYYY / MM / DD,因为Access无法将其搞砸了)

也许您已使用美国默认设置 - MDY而非英国(?)标准DMY设置日期。