Sql server 当我删除撇号前的一些空白时,为什么字符串连接失败?

Sql server 当我删除撇号前的一些空白时,为什么字符串连接失败?,sql-server,tsql,linqpad,Sql Server,Tsql,Linqpad,这项工作: DECLARE @query as nvarchar(200); SET @query = 'SELECT j.job FROM ' + '' + 'job as j'; EXEC sp_executesql @query …但这不起作用输出错误是关键字“as”附近的语法不正确,指向第一行: 为什么会这样?因为你需要一个从工作前到工作后的空间 返回:从作业中选择j.job作为j 返回:从job as j中选择j.job打印查询。FROMjob as j不是有效的SQL。 DECL

这项工作:

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

EXEC sp_executesql @query
…但这不起作用输出错误是关键字“as”附近的语法不正确,指向第一行:


为什么会这样?

因为你需要一个从工作前到工作后的空间

返回:从作业中选择j.job作为j

返回:从job as j中选择j.job

打印查询。FROMjob as j不是有效的SQL。
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
select 'SELECT j.job FROM ' + '' + 'job as j';
select 'SELECT j.job FROM' + '' + 'job as j';