2

我有一个 DataTable (dt) 作为

 StartDate    EndDate    Price
  1              3          10
  4              6          12
  7              10          16
  11             15          20

我想从fromdate = 2和todate = 8之间的日期过滤值。

所以我期待结果是

 StartDate         EndDate     Price
      1              3          10
      4              6          12
      7              10         16

我使用了 vb Datatable Select as->

dt.Select("StartDate <= #" & fromdate& "# And EndDate >= #" & todate& "#")

但我没有得到结果。你能建议我吗..

4

3 回答 3

2

您的查询应该是这样的:

dt.Select("StartDate <= #" & todate & "# And EndDate >= #" & fromdate & "#")

查找与您的范围重叠的记录。

于 2013-10-17T05:20:24.340 回答
1

它应该是

dt.Select("StartDate >= " & fromdate & " And EndDate <= " & todate)

两个问题

  1. 你的接线员都错了。您的 startdate 小于 2 且大于 8,而它应该是 startdate 大于 2 且小于 8

  2. 此外,不需要 # 假设列是整数类型。

于 2013-10-17T05:19:31.850 回答
-1

使用 DateDiff 函数,我的朋友

于 2013-10-17T05:13:31.600 回答