Да, вы можете, вот простой пример
CREATE TABLE T(
Code VARCHAR(45),
Name VARCHAR(45)
);
INSERT INTO T VALUES
('Code1', 'Name1'),
('Code2', 'Name2');
DECLARE @Code VARCHAR(MAX) = '',
@Name VARCHAR(MAX) = '';
SELECT @Code = @Code + QUOTENAME(Code) + ',',
@Name = @Name + QUOTENAME(Name) + ','
FROM T;
SELECT @Code, @Name;
Возвращает:
+------------------+------------------+
| No column name) | (No column name) |
+------------------+------------------+
| [Code1],[Code2], | [Name1],[Name2], |
+------------------+------------------+
Если у вас есть SQL Server 2017, то не нужно использоватьподстрока, вы можете просто использовать STRING_AGG()
как
SELECT STRING_AGG(QUOTENAME(Code), ','),
STRING_AGG(QUOTENAME(Name), ',')
FROM T;
Возвращает:
+------------------+------------------+
| (No column name) | (No column name) |
+------------------+------------------+
| [Code1],[Code2] | [Name1],[Name2] |
+------------------+------------------+