我有一个SQL查询,如下所示: -
select *
from dbo.NGPTimesheetsPosition
where ProjectNO = '12169-01-c' AND CreditorEmployeeID <> 'E0000' AND DocType = 'Time Sheet'
这将返回以下数据:
我想要做的是只能显示数据,包括用户定义的日期,例如2013年1月2日。
用户定义的日期可以是当月的任何日期。
非常感谢所有帮助或建议。
答案 0 :(得分:1)
您需要add a parameter to your report,并在数据集查询中使用此参数:
SELECT *
FROM dbo.NGPTimesheetsPosition
WHERE ProjectNO = '12169-01-c'
AND CreditorEmployeeID <> 'E0000'
AND DocType = 'Time Sheet'
AND TransactionDate <= @MyDateParameter -- ADDED!
当您声明:
时,您对问题的可能值的问题并不完全清楚用户定义的日期可以是当月的任何日期。
我认为these folks at SqlServerCentral are right:您无法为数据参数设置限制。这为您提供了两个基本选项:
AND @MyDateParameter <= CURRENT_TIMESTAMP
子句。答案 1 :(得分:0)
select *
from dbo.NGPTimesheetsPosition
where ProjectNO = '12169-01-c' AND CreditorEmployeeID <> 'E0000' AND DocType = 'Time Sheet'
and TransactionDate <= '2013-02-01'
答案 2 :(得分:0)
在你的where子句中进行日期比较,如下所示
Convert( varchar (11) , transactiondate , 101 ) <= '01/02/2013'