こんにちは、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 として宣言されている場合、本体クエリでキャスト/変換する必要があるのはなぜですか? ...