我从未在 SQL Server 2008 中使用过 XML,我需要将一个字段列表提取到一个变量表中,你怎么做?
I have never used XML in SQL Server 2008, I need to extract a list of fields into a variable table how do you do it?
鉴于我在 XMLMain 表中有一个名为 xmldata 的列,它看起来像下面这样,如何提取 sql 中的字段列表?
Given that I have a column called xmldata in a XMLMain table that looks like something like below how do I extract the list of fields in sql?
![在此处输入图片说明][1]
![enter image description here][1]
<?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:SampleForm:-myXSD-2014-03-29T09-41-23" solutionVersion="1.0.0.18" productVersion="15.0.0.0" PIVersion="1.0.0.0" href="http://bipc20/sites/team-1303/FormServerTemplates/SampleForm.xsn"?>
<?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.4"?>
<my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2014-03-29T09:41:23" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-US">
<my:field1>1</my:field1>
<my:field2>2</my:field2>
<my:field3>true</my:field3>
<my:field4 xsi:nil="true" />
<my:field5 xsi:nil="true" />
<my:field6>4</my:field6>
<my:FormName>2014-04-01T15:11:47</my:FormName>
<my:Repeating>hi</my:Repeating>
<my:Repeating xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2014-03-29T09:41:23">hello</my:Repeating>
<my:Repeating xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2014-03-29T09:41:23">how are you?</my:Repeating>
</my:myFields>
我想以逗号分隔的形式提取重复字段的值,例如 ex.在重复中,我们有三个值(你好,你好吗?)
I want to extract value of Repeating field as comma separated like for ex. in Repeating we have three values (hello,how are you?)
有人可以帮我吗?
with xmlnamespaces('http://schemas.microsoft.com/office/infopath/2003/myXSD/2014-03-29T09:41:23' as my)
select M.XMLData.value('(/my:myFields/my:field1/text())[1]', 'int') as field1,
M.XMLData.value('(/my:myFields/my:field2/text())[1]', 'int') as field2,
M.XMLData.value('(/my:myFields/my:field3/text())[1]', 'bit') as field3,
M.XMLData.value('(/my:myFields/my:FormName/text())[1]', 'datetime') as FormName,
(
select ','+R.X.value('text()[1]', 'nvarchar(max)')
from M.XMLData.nodes('/my:myFields/my:Repeating') as R(X)
for xml path(''), type
).value('substring(text()[1], 2)', 'nvarchar(max)') as Repeating
from XMLMain as M
结果:
field1 field2 field3 FormName Repeating
----------- ----------- ------ ----------------------- -----------------------
1 2 1 2014-04-01 15:11:47.000 hi,hello,how are you?
这篇关于如何在 SQL Server 2008 中读取 XML 列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
获取所有产品、类别和元数据的 SQL 查询 woocommSQL query to get all products, categories and meta data woocommerce/wordpress(获取所有产品、类别和元数据的 SQL 查询 woocommerce/wordpre
我可以在不编写 SQL 查询的情况下找出数据库列表Can I figure out a list of databases and the space used by SQL Server instances without writing SQL queries?(我可以在不编写 SQL 查询的情况下
如何创建对 SQL Server 实例的登录?How to create a login to a SQL Server instance?(如何创建对 SQL Server 实例的登录?)
如何通过注册表搜索知道SQL Server的版本和版本How to know the version and edition of SQL Server through registry search(如何通过注册表搜索知道SQL Server的版本和版本)
为什么会出现“数据类型转换错误"?使用 ExWhy do I get a quot;data type conversion errorquot; with ExecuteNonQuery()?(为什么会出现“数据类型转换错误?使用 ExecuteNonQuery()?)
如何将 DataGridView 中的图像显示到 PictureBox?How to show an image from a DataGridView to a PictureBox?(如何将 DataGridView 中的图像显示到 PictureBox?)