我有一个如下所示的 SQL 查询:-
select *
from dbo.NGPTimesheetsPosition
where ProjectNO = '12169-01-c' AND CreditorEmployeeID <> 'E0000' AND DocType = 'Time Sheet'
这将返回以下数据:
我想要做的是能够只显示直到并包括用户定义的日期的数据,例如 01/02/2013。
用户定义的日期可以是当前月份之前的任何日期。
非常感谢所有帮助或建议。
我有一个如下所示的 SQL 查询:-
select *
from dbo.NGPTimesheetsPosition
where ProjectNO = '12169-01-c' AND CreditorEmployeeID <> 'E0000' AND DocType = 'Time Sheet'
这将返回以下数据:
我想要做的是能够只显示直到并包括用户定义的日期的数据,例如 01/02/2013。
用户定义的日期可以是当前月份之前的任何日期。
非常感谢所有帮助或建议。
您需要向您的报告添加一个参数,并在您的数据集查询中使用此参数:
SELECT *
FROM dbo.NGPTimesheetsPosition
WHERE ProjectNO = '12169-01-c'
AND CreditorEmployeeID <> 'E0000'
AND DocType = 'Time Sheet'
AND TransactionDate <= @MyDateParameter -- ADDED!
当您声明时,您对参数的可能值的问题并不完全清楚:
用户定义的日期可以是当前月份之前的任何日期。
我认为SqlServerCentral 的这些人是对的:您不能为数据参数设置限制。这为您提供了两个基本选择:
AND @MyDateParameter <= CURRENT_TIMESTAMP
在查询中添加子句。select *
from dbo.NGPTimesheetsPosition
where ProjectNO = '12169-01-c' AND CreditorEmployeeID <> 'E0000' AND DocType = 'Time Sheet'
and TransactionDate <= '2013-02-01'
?
在您的 where 子句中进行日期比较,如下所示
Convert( varchar (11) , transactiondate , 101 ) <= '01/02/2013'