【发布时间】:2012-03-19 21:40:03
【问题描述】:
/我是 SQL 新手,我被要求创建一个过程,过程以某种方式成功创建,但是当我尝试运行执行时,它不起作用。 有人可以帮帮我吗?/
CREATE PROCEDURE sp_product_listing
(
@product varchar(40) ='%',
@month datetime,
@year datetime
)
AS
SELECT
products.name AS product_name,
products.unit_price,
products.quantity_per_unit,
suppliers.name AS supplier_name
FROM products
INNER JOIN suppliers ON products.supplier_id=suppliers.supplier_id
INNER JOIN order_details ON products.product_id=order_details.product_id
INNER JOIN orders ON order_details.order_id=orders.order_id
WHERE products.name LIKE @product
AND
@month=CONVERT(char(10),MONTH(orders.order_date))
AND
@year=CONVERT(char(10),YEAR(orders.order_date))
运行出错 当我运行执行 执行 sp_product_listing '杰克', '六月', '2001'
这是我收到的错误消息
消息 8114,级别 16,状态 5,过程 sp_product_listing,第 0 行 将数据类型 varchar 转换为 datetime 时出错。
月份和年份是我被困在的那个。
【问题讨论】:
标签: sql-server