1

我正在使用 Classic ASP 并具有以下 VB 脚本代码

From8to14 = date-14
To8to14 = date-8

这设置了两个变量。

今天,这意味着

From8to14 = "13/07/2012"
To8to14 = "19/07/2012"

然后,我对 SQL Server 进行了选择查询,并且我想查找 DateMatched 列介于(并包括)这两个日期之间的任何记录

当我声明它时,我在 SQL 中有两个条件;

"AND INTRAY.DateMatched >= '"& Year(From8to14) &"-"& Month(From8to14) &"-"& Day(From8to14) &"' " & _
"AND INTRAY.DateMatched <= '"& Year(To8to14) &"-"& Month(To8to14) &"-"& Day(To8to14) &"' " & _

现在,这不能正常工作,因为 DateMatched 列除了日期之外还包括一个时间,我认为服务器将这些日期解释为当天开始时的午夜?

因此,如果记录的 DateMatched 为“19/07/2012 17:41:22”,则不包含该记录。

我怎样才能解决这个问题?

4

2 回答 2

1

改变

To8to14 = date-8 

To8to14 = date-7

然后,您将从第-14 天的午夜到第-7 天的午夜,这将包括第-8 天的所有内容。

Or if you want to be really precise, leave To8to14 as it is, and change the end to

... Day(To8to14) &" 23:59:59'

You could also use BETWEEN rather than >= and <=

于 2012-07-27T12:11:18.430 回答
1

Try this.

"AND INTRAY.DateMatched >= dateadd(day, datediff(day, 0, getdate())-14, 0)" & _
"AND INTRAY.DateMatched < dateadd(day, datediff(day, 0, getdate())-7, 0)" & _
于 2012-07-27T12:16:16.040 回答