【发布时间】:2013-07-24 11:52:03
【问题描述】:
我在 sql server 中有一个具有以下架构的表。
**ID Title ActiveFromDate ActiveToDate**
1 Test 2013-07-06 2013-08-22
2 Test 2013-07-01 2013-07-30
我想通过 ActiveFromDate 和 Active ToDate 选择记录,即选择所有在特定日期范围之间的记录。
SELECT ISNULL(COUNT(*),0) AS Total, dbo.ArrangementPromotion.Title
FROM dbo.ArrangementPromotion
WHERE(
(dbo.ArrangementPromotion.ActiveFromDate BETWEEN '2013-08-01' AND '2013-08-14')
OR (dbo.ArrangementPromotion.ActiveToDate BETWEEN '2013-08-01' AND '2013-08-14' )
)
AND dbo.ArrangementPromotion.Inactive = 0
AND dbo.ArrangementPromotion.Deleted = 0
AND(12 IS NOT NULL OR dbo.ArrangementPromotion.ID <> 12 )
GROUP BY dbo.ArrangementPromotion.Title
但是,如果参数@ActiveToDate 中的日期小于表Active ToDate,我不会得到想要的结果。 任何机构都可以帮助我。
谢谢
【问题讨论】:
-
您希望返回哪些行?
-
第一行。因为这个 toDate 在日期之间
-
也许像this 这样的东西对你有用。
标签: asp.net sql-server database stored-procedures