Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Странное поведение into с XML

$
0
0
Обнаружил сегодня странную вещь на своем MSSQL.
Вот такой вот код выдает результат "Rifts 1", вместо 1 может быть цифра от 0 до 3 случайным образом.
Хотя должен выдавать "Rifts NULL".
Если убрать into #ExpTables, identity(1,1) или вместо tb.id написать tb.id+0 - начинает выдавать все правильно.
Подскажите пожалуйста как такое может быть? Сломал голову напрочь.
create table TTables(ID int not null identity(1,1),NAME varchar(200) not null);

declare @xml xml;
select @xml='<Table><NAME>Rifts</NAME></Table>';

select T.c.value('NAME[1]','varchar(200)') as NAME, tb.id as TID
into #ExpTables
from @xml.nodes('/Table') AS T(c)
     left join TTables tb on tb.name=T.c.value('NAME[1]','varchar(200)');

select * from #ExpTables;

drop table #ExpTables;
drop table TTables;

Версия SQL 9.00.5324.00 (X64) Standard Edition (64-bit)

Viewing all articles
Browse latest Browse all 7251

Trending Articles