Change like this. This error is because you're trying to concatenate an integer field to stringALTER PROCEDURE [dbo].[GetArticlesByKeywords] @articleID int,@Keywords VARCHAR(MAX),@categoriesRemove nvarchar(100)ASBEGIN-- SET NOCOUNT ON added to prevent extra result sets from-- interfering with SELECT statements.SET NOCOUNT ON;declare @MySQLPart varchar(4000)SET @MYSQLPART = 'SELECT DISTINCT articleKeywords.articleID,articles.articleTitle,articles.articleSummaryFROM articleKeywordsLEFT OUTER JOIN articlesON articleKeywords.articleID = articles.articleIDWHERE (articleKeywords.articleKeyword IN (SELECT dataFROM dbo.FUNCTION_STRING_TO_TABLE (''' + @Keywords + ''',''|'' ) AS function_string_to_table_1))AND (articleKeywords.articleID <> ' + CAST(@articleID AS varchar(10)) + ')AND (NOT (articles.categoryID IN (' + @categoriesRemove + ')))'EXEC (@MYSQLPART)END