الحصول على rowsets من كسكيري و SQL Server 2005
-
19-08-2019 - |
سؤال
ويمكنني الحصول على السجل الأول مرة أخرى من رمز أدناه في SQL Server 2005. كيف يمكنني الحصول على كل منهم؟ إذا كنت إزالة '[1]' مؤشر أحصل على بعض الخطأ المفرد ...
declare @xml xml
set @xml =
'<my:myFields xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11">
<my:field>test1</my:field>
<my:field>test2</my:field>
<my:field>test3</my:field>
<my:field>test4</my:field>
</my:myFields>'
SELECT @xml.value('declare namespace my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11";
(/my:myFields/my:field)[1]', 'varchar(100)') as test
المحلول
declare @xml xml
set @xml =
'<my:myFields xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11">
<my:field>test1</my:field>
<my:field>test2</my:field>
<my:field>test3</my:field>
<my:field>test4</my:field>
</my:myFields>'
SELECT Y.ID.value('.', 'varchar(100)') as test
FROM @xml.nodes('declare namespace my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11";
(/my:myFields/my:field)') as Y(ID)
لا تنتمي إلى StackOverflow