【发布时间】:2015-01-20 20:28:03
【问题描述】:
我有一个带有可选日期范围参数的查询,我正在尝试解决一个案例,但遇到了困难。
- 如果两个日期都为 NULL,则返回包括 NULL 日期行在内的所有内容
- 如果两者都有值,则只返回范围内的值
- 如果 from_date 有值,而 to_date 为 null,则返回所有内容 > from_date
- 如果 from_date 为 null,并且 to_date 有值,则返回所有内容
所以基本上是这样的:
SELECT *
FROM TABLE
WHERE CASE WHEN (@FROM_DATE IS NOT NULL and @TO_DATE IS NOT NULL) THEN
DATE BETWEEN ISNULL(@FROM_DATE,1/1/1900) and ISNULL(@TO_DATE,1/1/2999)
ELSE
DATE = DATE ?
我们将不胜感激!
【问题讨论】:
标签: sql-server sql-server-2008 ssrs-2008-r2