请考虑这个XML:1000NimaAgha1001LighaLigha1002JighaJigha1003AbaAba我想编写一个获取数字的函数,然后获取第n个Person元素和Name。例如,如果0传递到我的函数,我返回Aba,如果1传递到我的函数,我返回Jigha。 最佳答案 这应该有效。将@index变量的值设置为要查找的记录的编号,相对于列表的末尾:declare@indexint=1declare@xmlxml='1000NimaAgha1001LighaLigha1002JighaJigha1003AbaAba'sele
我有一个包含XML列(XMLColumn)和VARCHAR列(ABCColumn)的临时表.我试图用同一行的ABCColumn中的值替换XMLColumn中特定XML节点的值。我需要为临时表中的每一行执行此操作。如果没有一个游标可以保存每次提取的替换值,这是否可行?我尝试使用对临时表进行更新XmlColumn.modify('replacevalueof...with...')但在这种情况下我没有变量。我需要获取XYZColumn的值并将其用作替换值。我见过的每个示例都使用变量或硬编码值-而不是同一行的列值。此外,我正在使用SQLServer2005。有人有什么想法吗?
我有一个看起来像这样的表:CREATETABLECustomerXmlData(CustomerIdint,CustomerDataxml)CustomerId链接到主客户表,CustomerData是一个如下所示的xml文档ABC500XYZ600有几十万这样的行。在伪代码中,我想要做的是“找到Product的平均Value,其中Name='XYZ'”。我知道如何根据元素属性或基于在文档中具有唯一的父元素来获取值,但在这种情况下这些都没有用。我找不到任何可以让我找到我想要的Name然后获取下一个兄弟的值的东西。我可以使用FORXML并创建一个边缘表,但我是否必须使用游标遍历它?我希望
假设我在SQLServer2008中有2个具有以下XML的XML变量DECLARE@FIRSTXML='JohnBob',@SecondXML='NewBob39';我想要以下输出:JohnNewBob39基本上我想将2个XML变量的内容合并到一个变量@Second应该优先的地方(如果一个节点同时存在于@First和@Second,应该考虑@Second里面的节点。我采用的方法是首先获取两个根元素中所有唯一元素的列表,如下所示:WITHALLFieldsAS(SELECTx.y.value('local-name(.)','varchar(50)')AsElementFROM@Seco
符合主题SQLServerXMLmodifywithnoresult而在插入新节点之前我得到了错误XQuery[modify()]:Onlynon-documentnodescanbeinserted.Found"xs:string?".新节点的主体:有什么办法可以解决吗?DECLARE@newNodeDatavarchar(max)=...@newNodeData变量的一些文本修改然后declare@xmlxml;select@xml=t.xmlData//t.xmlDataisntexttypefromtabletwhereid=123set@xml.modify('declare
当我尝试在SQL中存储一个XML而不是一个空元素时,SQL只是更改它并仅使用一个元素标签来存储它。例如,要存储的XML是:ROGER然后Sql存起来就好了ROGERsql更新非常简单:UPDATESESIONESREPORTESSETSER_PARAMETROS='ROGER'WHERESER_ID=7我需要这样,因为我有一些查询在元素为空时失败,你可以在这里看到它..Mergingmanyrowsinasingle 最佳答案 我不认为你可以,查看以下链接:XMLDataTypeandColumns据此(XML存储选项部分):The
我在尝试对我的结果进行分组/嵌套时遇到问题,如下所示。如有任何帮助,我们将不胜感激。必需的XML输出EMBC_CreatedStart2013-10-02T10:00:33C_TeamEMBITPSPotentialStart2013-10-03T09:15:32+10.00R_Team我的SQL的实际XML输出ProcessId和ProcessInstanceID多次显示同一Id的EMBtc_CreatedStart2013-10-02T10:00:33+10.00C_TeamEMBITPSPotentialStart2013-10-03T09:15:32+10.00R_Team生成
您好,我有带有属性的XML数据作为SQL的输入,我需要将其插入到我的表中。XML数据是我希望以下面的格式插入GUIDSUBMITDATEIDERRORSEQCODEkfafb32015-10-1511:30:291128681kfafb32015-10-1511:30:29112868请帮忙。 最佳答案 查看XPath和xmlDataTypeMethods在MSDN中。这是一种可能的方式:declare@xmlAsXML='...youXMLstringhere...'INSERTINTOYourTableSELECTguid.va
使用以下SQL:DECLARE@xmlXML=(SELECTN''AS[content1/\*],N''AS[content2/\*]FORXMLPATH('Rows'))SELECT@xml我得到像这样的自闭标签:是否可以改用它,以便在HTML中使用?此外,是否可以进行以下操作,即没有根节点? 最佳答案 您可以使用TYPEdirective避免隐式转换为字符串并返回到XML:DECLARE@xmlXML=(SELECTN''as[content1],N''as[content2]FORXMLPATH('Rows'),TYPE);S
我将XML数据存储在SQLServer数据库中的一列中。Piston1.2PistonRing2Piston1.5有没有一种方法可以获得以下格式的结果?------------------------------Product|Count------------------------------Piston|2PistonRing|1------------------------------我尝试使用Xpath进行计数,但不确定是否可以按产品分组然后进行计数。我正在寻找类似(在SQL查询中)的东西SELECTProduct,Count(Product)FROMABCGROUPBYP