【问题标题】:Why does string concatenation fail when I remove some white space before the apostrophe?当我在撇号前删除一些空格时,为什么字符串连接会失败?
【发布时间】:2017-05-10 17:52:27
【问题描述】:

这行得通:

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

这是为什么?

【问题讨论】:

  • 打印查询。 . . FROMjob as j 不是有效的 SQL。

标签: sql-server tsql linqpad


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多