如何在MS-ACCESS和JSP中获取日期到日期的日期?

时间:2011-07-01 12:25:03

标签: jsp ms-access-2007

这是一个查询:

String query1 =“select * from Demand_Register,其中Payment_Date> ='”+ fromDate +“'和Payment_Date< ='”+ toDate +“'”;

如果toDate = 23/6/2011且fromDate = 25/6/2011则它会检索日期24和25的数据而不是23?如果toDate = 23/6/2011且fromDate = 23/6/2011,那么它什么都不会检索。

提前致谢。

1 个答案:

答案 0 :(得分:0)

Access / Jet / ACE中的日期不是作为文本表示存储,而是存储为double,其中整数部分是自18/30/1899起的日期,小数部分是时间。所有日期都有时间部分。

如果您一直使用Now()来填充相关字段,或者在字段中存储0以外的时间部分,则不会得到完全匹配。相反,你必须使用它:

  toDate>=#23/6/2011# AND toDate<#24/6/2011# AND fromDate>=#25/6/2011# AND fromDate<#26/6/2011#

这将包含2011年6月23日当天的toDate值,但有时间部分。

现在,我想问你为什么在字段名toDatefromDate中包含0以外的时间部分 - 如果它们是真正的日期,它们应该只有时间部分。如果您在Access或Jet / ACE SQL中填充这些日期,您可以使用Date()函数,它只返回日期部分,而不是Now(),它返回当前日期和时间。

要修复具有时间值的数据,而该数据应仅为日期值,只需运行更新即可将字段更改为整数值,例如SET toDate = Int(toDate)