2017-10-19 83 views
0

下面的查询给出了如下错误:错误执行查询字符串

无效的列名“S”

但这里'S'是参数@P_APPLICABLE_TO的价值。不是专栏。

@P_APPLICABLE_TO VARCHAR(20)='', 

SET @QUERY = 'SELECT FSWH.ID AS ID,FSWH.REF_NO AS REFNO,FSWH.SALE AS STATUS FROM [ACCT].[SALE_HD] FSWH WHERE COMPANY_ID =' 
         + Cast(@P_COMPANY_ID AS NVARCHAR(max)) + 'AND SALE =' + Cast(@P_APPLICABLE_TO AS NVARCHAR(max)); 

回答

1

你需要确保它包含在单引号:

'AND SALE =' + '''' + Cast(@P_APPLICABLE_TO AS NVARCHAR(max)) + ''''; 

使用“打印@QUERY”,看看查询被设置为,它是那么容易,看看有什么问题是。