Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Странная работа при использовании ORDER BY  [new]
New_Frozen
Member

Откуда: Киев
Сообщений: 223
День добрый.
Пытаюсь сформировать строку из результата запроса. Но используя ORDER by наткнулся на игнорирование части значение.

Кто-то сталкивался с подобной проблемой?

CREATE TABLE [dbo].[#TemplateExportFilesName] (
  [ID] int NOT NULL,
  [Field] varchar(255) COLLATE Cyrillic_General_CI_AS NOT NULL,
  [Prefix] varchar(255) COLLATE Cyrillic_General_CI_AS NULL,
  [Sufix] varchar(255) COLLATE Cyrillic_General_CI_AS NULL,
  [OrderNum] tinyint NOT NULL,
  [TemplateExportID] int NOT NULL,
  PRIMARY KEY CLUSTERED ([ID])
)
ON [PRIMARY]
GO

INSERT INTO #TemplateExportFilesName(ID,Field,Prefix,Sufix,OrderNum,TemplateExportID)
SELECT 23, 'Namber', '', '', 1, 99
UNION 
SELECT 24, 'Namber1', '1', '', 2, 99
UNION
SELECT 25, 'born_date', '', '', 3, 99

DECLARE @A varchar(255)

--Variant 1
--ВОТ ТУТ СТРАННОЕ ПОВЕДЕНИЕ
SET @A = ''
SELECT @A = ISNULL(@A,'') + Convert(varchar(255),ISNULL(Field,''))
FROM #TemplateExportFilesName
WHERE TemplateExportID = 99
ORDER BY OrderNum
    
SELECT @A

--Result: born_date

--Variant 2
SET @A = ''
SELECT @A = ISNULL(@A,'') + Convert(varchar(255),ISNULL(Field,''))
FROM #TemplateExportFilesName
WHERE TemplateExportID = 99
--ORDER BY OrderNum
    
SELECT @A

--Result: NamberNamber1born_date

--Variant 3
SET @A = ''
SELECT @A = ISNULL(@A,'') + Convert(varchar(255),ISNULL(Field,''))
FROM #TemplateExportFilesName
WHERE TemplateExportID = 99
ORDER BY ID
    
SELECT @A

--Result: NamberNamber1born_date

DROP TABLE #TemplateExportFilesName
23 сен 13, 13:21    [14872377]     Ответить | Цитировать Сообщить модератору
 Re: Странная работа при использовании ORDER BY  [new]
Гость333
Member

Откуда:
Сообщений: 3683
New_Frozen
Кто-то сталкивался с подобной проблемой?

Много кто сталкивался. "Это не баг, это фича"
Вот официальная статья на эту тему из базы знаний Microsoft: PRB: Execution Plan and Results of Aggregate Concatenation Queries Depend Upon Expression Location
23 сен 13, 13:27    [14872416]     Ответить | Цитировать Сообщить модератору
 Re: Странная работа при использовании ORDER BY  [new]
order by
Guest
http://support.microsoft.com/default.aspx?scid=287515
23 сен 13, 13:27    [14872418]     Ответить | Цитировать Сообщить модератору
 Re: Странная работа при использовании ORDER BY  [new]
New_Frozen
Member

Откуда: Киев
Сообщений: 223
Спасибо всем
23 сен 13, 15:48    [14873451]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить