1 sql-server parameters datetime stored-procedures sql-server-2008-r2
我试图基本输入一年(不是整个日期)来取回一组结果,这些结果将告诉我今年销售的东西数量.不过我不知道怎么做.下面是我所拥有的一个例子.
ALTER PROC OrderYear
(@OrderYear datetime)
AS
SELECT Orderdate as [Year],COUNT(SalesOrderID) as Count
FROM Sales.SalesOrderHeader
WHERE @OrderYear=YEAR(OrderDate)
GROUP BY OrderDate
BEGIN
SET NOCOUNT ON
END
EXEC OrderYear '2005'
Run Code Online (Sandbox Code Playgroud)
您希望将查询谓词表示为范围,因为范围是可搜索的:
SELECT Orderdate as [Year],COUNT(SalesOrderID) as Count
FROM Sales.SalesOrderHeader
WHERE OrderDate >= @firstDayOfYear AND OrderDate <= @lastDayOfYear
GROUP BY OrderDate;
Run Code Online (Sandbox Code Playgroud)
因此,关键是计算机@firstDayOfYear和@lastDayOfYear从某一年.我会将此作为练习留给读者.