您好,我使用 SQL2000,所以我构建了一个动态查询,在最后一种情况下,我有这个:
IF (@apepac is not null and @nompac is not null and @month is not null )
SELECT @DynaSQL_1= @DynaSQL_1 + ' AND PACIENTE.apellidos like ''' + @apepac + '%'''+
' AND PACIENTE.nombres like ''' + @nompac + '%'''+
' AND DATENAME(MONTH,honorariotecnologo.fechaestudio) = ''' + @month +'''' +
' AND YEAR(honorariotecnologo.fechaestudio) = '+@year+''
所以参数@year 是这样声明的:
DECLARE @year int,
我从 SQL 输出得到的错误是:
Msg 245, Level 16, State 1, Line syntax
43Error to convert the nvarchar value '
有什么问题?
谢谢!
顺便说一句,为什么如果参数被声明为 INT,在正文查询中它必须被强制转换/转换?...