2010-04-26 68 views
0

虽然使用日期字段中选择记录我面临的一个问题,亚音速3.0 SELECT查询使用DateColumn

我SQL2005视图(ViewOrders)StarDate柱使用具有

4/23/2010 12:00:00 AM 
4/23/2010 12:00:00 AM 
4/23/2010 12:00:00 AM 
4/23/2010 12:00:00 AM 
4/23/2010 1:07:00 PM 

我的代码亚音速3.0

AMDB ctx = new AMDB(); 
SqlQuery vwOrd = ctx.Select.From<viewOrders>(); 
vwOrd = vwOrd.And("StartDate").IsGreaterThanOrEqualTo("04/22/2010");//From date 
vwOrd = vwOrd.And("StartDate").IsLessThanOrEqualTo("04/22/2010");// To Date 
List<viewOrders> cat = vwOrd.ToList<viewOrders>(); 

我能够只抓取前四条记录,我无法抓取最后一条记录,其中包含(4/23/2010 1:07:00 PM)。 我认为问题是在时间格式..

我怎样才能亚音速,只比较日期时间列中的日期编码。

我不需要日期“之间”亚音速方法,因为我可以得到单一的日期参数(从单独的日期)。

+0

我SQL2005视图(ViewOrders)StarDate列有 (R1)2010年4月23日12:00:00 AM (R2)2010年4月23日12:00:00 AM (R3)4/23/2010 12:00:00 AM (R4)4/23/2010 12:00:00 AM (r5)4/23/2010 1:07:00 PM – vineth 2010-04-26 13:03:00

回答

1

作为一般规则,得到一个日期范围内的日期时间记录通常由(伪代码)

DateField >= startdate AND DateField < (EndDate + 1 day) 

我稍微你的榜样混淆您的最新记录都是23-APR-10实现,但你似乎在10月22日搜索那些?

此外,作为一般建议,使用'YYYYMMDD'格式进行日期比较 - 这将应付不同日期格式的不同服务器。