我需要一个语句来从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") + "#";
这也没有给我任何回报
任何想法????
答案 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设置日期。