Я первоначально предложил использовать select
метод на Массиве. К остроумию:
[1, 2, 3, 4, 5, 6, 7].select{|e| e%2 == 0}
дает нам [2,4,6]
назад.
, Но если Вы хотите первое такой объект, используйте detect
.
[1, 2, 3, 4, 5, 6, 7].detect{|e| e>3}
дает нам 4
.
я не уверен, для чего Вы идете сюда, все же.
declare @x xml;
select @x='<game xmlns="http://my.name.space" ></game>';
set @x.modify('declare default element namespace "http://my.name.space";
insert <move><player>black</player><piece>pawn</piece>
<start>E7</start><end>E6</end></move> as last into (/game)[1]');
select @x;
Это дает:
<game xmlns="http://my.name.space">
<move>
<player>black</player>
<piece>pawn</piece>
<start>E7</start>
<end>E6</end>
</move>
</game>
как на SQL 2005 SP2, так и на SQL 2008 SP1.
Также это обновление таблицы работает нормально:
declare @t table (x xml);
insert into @t (x) values ('<game xmlns="http://my.name.space" ></game>');
update @t
set x.modify('declare default element namespace "http://my.name.space";
insert <move><player>black</player><piece>pawn</piece>
<start>E7</start><end>E6</end></move> as last into (/game)[1]');
select * from @t;
Хорошо, у меня это работает:
DECLARE @x XML;
SET @x = '<game xmlns="http://my.name.space" ></game>';
select @x
SET @x.modify(
' declare default element namespace "http://my.name.space";
insert <move><player>black</player><piece>pawn</piece><start>E7</start><end>E6</end></move> as last into (/*:game)[1]'
)
select @x