人!我需要一些帮助 我有一个带时间戳字段的TABLE,我想使用WCF服务将数据传输到其他SQL Server 现在,我尝试使用“for xml”来模拟这个
DECLARE @aa XML
DECLARE @idoc int
SET @aa =(select * from db_table for xml auto, elements, root('root'), type)
选择@aa返回
<root>
<Person>
<preson_id>1</preson_id>
<Name>Иван</Name>
<Surname>Иванов</Surname>
<BurthDate>1915-05-03</BurthDate>
<guid>2E739E87-3CA4-4ED8-ADD0-8B59957668B8</guid>
<version>AAAAAAAAB9E=</version>
</Person>
<Person>
<preson_id>2</preson_id>
<Name>Николай</Name>
<Surname>Николаев</Surname>
<BurthDate>2005-03-05</BurthDate>
<guid>BDC41C59-D70F-4B70-954E-4918B9516AF8</guid>
<version>AAAAAAAAB9I=</version>
</Person>
<Person>
<preson_id>3</preson_id>
<Name>Максим</Name>
<Surname>Максимов</Surname>
<BurthDate>1845-11-15</BurthDate>
<guid>740E57F3-56BA-48B8-92AF-978D7B1D2712</guid>
<version>AAAAAAAAB9M=</version>
</Person>
</root>
第一次看起来很好看,但是当我尝试从xml中获取数据时,时间戳值看起来不太好(
EXEC sp_xml_preparedocument @idoc OUTPUT, @aa
SELECT * FROM OPENXML (@idoc, '/root/Person',2)
WITH db_table
如何从源外观中获取xml时间戳值?
抱歉我的英语不好)))
答案 0 :(得分:0)
如果使用MS SQL Server 2005或更高版本,则可以执行此操作
select
r.p.value('preson_id[1]', 'int') as preson_id,
r.p.value('BurthDate[1]', 'date') as BurthDate,
r.p.value('guid[1]', 'uniqueidentifier') as guid,
r.p.value('version[1]', 'rowversion') as timestamp
from @aa.nodes('root/Person') r(p)