遇到特定存储过程的麻烦。我认为我有它大部分是正确的... 我基本上想要能够搜索一个月和一年,并有任何产品的行在该时间表内出售。SQL - 将MONTH提取从数字转换为完整的月份名称
CREATE PROCEDURE sp_products
@productname CHAR(20),
@month CHAR(9),
@year CHAR(4)
AS
SELECT p.ProductName,
p.UnitPrice,
p.UnitsInStock,
s.Name
FROM Orders o
INNER JOIN OrderDetails od
ON o.OrderID = od.OrderID
INNER JOIN Products p
ON od.ProductID = p.ProductID
INNER JOIN Suppliers s
ON p.SupplierID = s.SupplierID
WHERE p.ProductName = @productname
AND MONTH(o.OrderDate) = @month
AND YEAR(o.OrderDate) = @year
给我一个“将转换varchar值'December'转换为数据类型为int的转换失败。错误。
下面是它需要与之合作的查询:
EXEC sp_products '%tofu%', 'December', 1992
我想我知道我需要做的,只是不知道该怎么做...
帮助!
您是否将int转换为varchar? MONTH在你的表格中的数据类型是什么? – Milee 2012-03-29 05:14:54