1

我有一个包含 A、B、C、D 列(varchar 类型)的表。

从存储过程中,我从同一个表中获取数据。我在存储过程中创建了一个动态 sql 查询,用于从表中获取数据。

我想要的是,

需要将 B 列和 C 列与符号(连字符或冒号)组合在一起并将其显示为单个部分。

DECLARE @sSQL nvarchar(100);
DECLARE @symbol nvarchar(100);
SET @symbol='-'
SELECT @sSQL = N'SELECT [A], ([B], '+@symbol+', [C]) as Status FROM Table';
EXEC sp_executesql @sSQL

上面的查询对我不起作用。我需要以下查询作为动态查询。

SELECT A,B+'-'+C as Status FROM Table

请帮忙。

4

1 回答 1

1

你确实需要逗号。这是正确的语法:

SELECT @sSQL = N'SELECT [A], ([B] + '''+@symbol+''' + [C]) as Status FROM Table';
于 2015-10-25T11:28:19.743 回答