为什么当我删除撇号前的一些空格时字符串连接失败



这有效:

DECLARE @query as nvarchar(200);
SET @query = 'SELECT j.job FROM ' + '' + 'job as j';
EXEC sp_executesql @query

。但这不起作用(输出错误为 Incorrect syntax near the keyword 'as', pointing to the first line (:

DECLARE @query as nvarchar(200);
SET @query = 'SELECT j.job FROM' + '' + 'job as j'; -- removed the white space after the word FROM
EXEC sp_executesql @query

这是为什么呢?

因为您需要在job之前from之后有一个空格。

select 'SELECT j.job FROM ' + '' + 'job as j';

返回: SELECT j.job FROM job as j

select 'SELECT j.job FROM' + '' + 'job as j';

返回: SELECT j.job FROMjob as j

最新更新