4

我最近用这些参数写了一个存储过程:

@dFromDT DATE,
@dToDT DATE,
@sErrorMessage NVARCHAR(MAX),
@sPartCustom INT,
@sPartCustomFilter NVARCHAR(254),
@nIncludeMessage INT

我正在尝试使用以下行调用该过程:

EXEC _MG_ERPPartFilter(CONVERT(datetime, '2013-01-01T00:00:00', 126), CONVERT(datetime, '2050-12-31T00:00:00', 126), '',5, '556', 0)

而且我总是收到该错误消息:

关键字“CONVERT”附近的语法不正确。

即使我写了这一行:

EXEC _MG_ERPPartFilter('2013-01-01','2050-12-31', '',5, '556', 0)

我得到那个错误:

“2013-01-01”附近的语法不正确。

所有的名字都是正确的。

有人能帮我吗?

4

1 回答 1

4

不要在第二个示例中使用括号:

EXEC _MG_ERPPartFilter '2013-01-01','2050-12-31', '',5, '556', 0

首先,您必须将值转换为临时变量并将它们传递给exec命令:

declare @date1 datetime, @date2 datetime

set @date1 = CONVERT(datetime, '2013-01-01T00:00:00', 126)
set @date2 = CONVERT(datetime, '2050-12-31T00:00:00', 126)

EXEC _MG_ERPPartFilter @date1, @date2, '',5, '556', 0
于 2013-10-31T08:45:55.957 回答