Вам не нужно объединять строки.
SELECT @COL1, @COL2
должно быть достаточно.Параметры @ COL1 и @ COL2 будут автоматически заменены фактическими значениями.
Однако вы не можете объявить имена столбцов динамически, как это.Параметры на стенде для значений.Обычно вы делаете что-то вроде этого:
SELECT [Name] FROM mytable WHERE ID=@id
Если вы намерены динамически изменять имена столбцов, тогда вы не будете использовать апострофы вообще:
SET @sql = 'SELECT [' + @COL1 + '], [' + @COL2 + ' FROM mytable';
EXECUTE sp_executesql @sql;