根据datetime参数返回结果

时间:2013-12-09 20:04:20

标签: sql

我有一个名为Fees的数据库表。在该表格中,我有FeeTypeEnumEffectiveDateAmount列。

表格示例:

ID   FeeTypeEnum   EffectiveDate   Amount
-----------------------------------------
1    1             1/1/2013        13.00
2    1             10/1/2013       98.36
3    2             4/1/2013        53.00
4    2             6/1/2013        51.00
5    3             7/1/2013        53.00
6    1             12/1/2012       12.00

我如何仅返回基于datetime参数日期认为有效的结果。例如:如果今天 5/1/2013 ,则只会返回以下内容:

ID   FeeTypeEnum   EffectiveDate   Amount
-----------------------------------------
1    1             1/1/2013        13.00
3    2             4/1/2013        53.00

我原以为我可以按FileTypeEnum对它们进行分组,然后删除当前日期之前的那些。那会有用吗?

修改

基本上,我正在尝试返回EffectiveDate 之前 datetime参数和 NOT 结果所有结果EffectiveDate AFTER 参数。

编辑2

使用以下查询时:

SELECT *
  FROM [Fees]
  WHERE [EffectiveDate] <= GETDATE()
  ORDER BY [FeeEnum]

它还会返回不再被视为活动的记录的结果。如何从每个[FeeEnum]组中仅选择1个?

2 个答案:

答案 0 :(得分:0)

这是新的,但我相信你想带回任何东西&lt; systdate。

尝试这样的事情:

SELECT * 
FROM tablename
WHERE EffectiveDate<SYSDATE

答案 1 :(得分:0)

这样的东西?

SELECT *
FROM Fees
WHERE EffectiveDate <= @asOfDate

如何调用 SQL(例如存储过程或直接构成应用程序)将确定如何设置@asOfDate参数。