Добавьте пространство в именах полей для STUFF с T SQL сцеплением - PullRequest
1 голос
/ 28 февраля 2020

У меня есть этот код:

STUFF((
SELECT ',' + QUOTENAME(colname) + ' AS ' +  DATENAME(month, colname) + ' ' + left(cast(colname as varchar),4)
from (SELECT DISTINCT date ColName FROM #data) y
ORDER BY colname
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,1,'')

Это возвращает ошибку, потому что пробел между DATENAME(month, colname) и left(cast(colname as varchar),4) вызывает неправильное имя поля. Я пытался добавить двойные одинарные кавычки до и после DATENAME(month, colname) + ' ' + left(cast(colname as varchar),4), но ничего не изменилось. Как добавить пробел к этой функции STUFF?

1 Ответ

1 голос
/ 28 февраля 2020

Вы просто хотите избежать имени?

STUFF((SELECT ',' + QUOTENAME(colname) + ' AS [' + DATENAME(month, colname) + ' ' + left(cast(colname as varchar(255)),4) + ']'
FROM (SELECT DISTINCT date ColName FROM #data) y
ORDER BY colname
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'
      ), 1, 1, ''
     )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...