我正在尝试解析一个简单的XML文件。一旦我取消注释插入语句,它就会给我无效的列错误。droptable#TEMPdroptable#TEMP_Tdeclare@XMl_DATAASXMLset@XMl_DATA='GAS_FLOW_START_DATEGASFLOWSTARTDATE01/01/2012EX_CTRCT_CO_IDEXCLUDEGID(S)GAS_FLOW_END_DATEGASFLOWENDDATE01/31/2012EX_CTRCT_NBREXCLUDECONTRACTNUMBER(S)CTRCT_CO_IDGID(S)EX_RATE_CMPNT_CDEXCLUDE
我有一个表,它用XML定义了表单的布局。其中有节点,具有Id(GUID)和DataType(char)等属性......此XML数据用于在运行时创建表单,当数据被保存时,它被写入名为的元素中的XML,这些元素具有以下属性:名称(与控制节点ID中的GUID匹配)和数据(保存输入到控件中的值)。我们有一个问题,当您.ToString一个Date对象时,它使用机器的日期格式设置。所以日期可以以任何可能的格式保存。我已经更新了代码以始终以YYYY/MM/DD格式保存日期,但现在我需要将数据库中的现有数据更新为YYYY/MM/DD。由于我们无法知道日期以何种格式保存,因此我们假设它被保存为MM/
我目前正在使用T-SQL将一些数据转换为XML。我需要在它们自己的行上列出属性的值。出于某种原因,T-SQLtoXML不断将值连接在同一行上。示例代码:SELECT'Fruits'AS[Attribute/@name],'Apple'AS[Attribute/Value],'Orange'AS[Attribute/Value],'Grape'AS[Attribute/Value]FORXMLPATH(''),ROOT('CustomProduce'),TYPE示例结果:AppleOrangeGrape期望的结果:AppleOrangeGrape非常感谢任何帮助,非常感谢!
我想知道如何获取其中所有具有属性TIPO且等于“MC”的元素XML是:yleonYerushaLeonyleon@pt.com.ve201305270ANDUSU_ID=4ANDUSU_ID=5ANDUSU_ID=9预期的结果是:ANDUSU_ID=4ANDUSU_ID=5 最佳答案 检查这个:DECLARE@xmlXMLSET@xml='yleonYerushaLeonyleon@pt.com.ve201305270ANDUSU_ID=4ANDUSU_ID=5ANDUSU_ID=9'--RESULTSSELECTtxt=T.Ite
我们的数据库中有一个包含XML数据列的表。在那一列中,有一大块xml数据,其中存储了很多应用程序值。在我们更经常调用的查询之一中,在同一个查询中从该Xml列中检索了多个值。例如SELECTv.OtherColumns--...,v.[Data].value('(/Record//Inputs/Net)[1]','money')as'InputNet',v.[Data].value('(/Record//Inputs/Vat)[1]','money')as'InputVat',v.[Data].value('(/Record//Inputs/Gross)[1]','money')as'I
我有一个具有以下结构的查询selectt1.Col1,t1.Col2,(selectt2.Col1,t2.Col2from#t2t2wheret1.Col1=t2.Col1forxmlpath('Path1'),root('RootPath1'),Type)from#t1t1forxmlpath('Path2')我想将它与另一个查询合并,以便结构如下:selectt1.Col1,t1.Col2,(selectt2.Col1,t2.Col2from#t2t2wheret1.Col1=t2.Col1forxmlpath('Path1'),root('RootPath1'),Type)fro
对于下面示例中的所有参数值,生成连接到单个列的输出的简单方法是什么,此xml中没有ns,我使用的是SQLServer2012。我尝试获取此输出,在带有xml示例的代码段下方生成3列,我想生成1。100|Param1,Param22,Param3322XML和代码:DECLARE@xmlXML='Param1Param22Param3322'SELECT100id,@XMLxmlinfoINTO#t--droptable#t--select*from#tDECLARE@xmlXML=(SELECTxmlinfoFROM#t)SELECT(SELECTIDFROM#t)ASID,X.STo
如果我有以下SQL语句,我实际上可以使用它来根据来自两个表的数据生成XML。我得到了结果,但我必须右键单击它,单击“另存为”,然后选择一个位置(例如C:\Users\my\Documents)来保存此XML。有没有办法自动执行此操作?SELECT(SELECTy.*FROMdbo.TableYFORXMLPATH('y'),TYPE)AS'YElements',(SELECTa.*FROMdbo.TableAFORXMLPATH('a'),TYPE)AS'AElements'FORXMLPATH(''),ROOT('root') 最佳答案
我有数千个xml文件可以从中获取数据。为此,我使用了交叉应用方法。但问题是,一些节点并不总是出现在xml文件中。在我的示例中,这是节点“valueX”(在产品节点内)。而这个节点只存在于最后一个人身上。Johnabc100def99Maryabc200Peterabc300Sueabc400test如果我现在使用“valueX”节点查询带有交叉应用的xml文件,我只会得到包含该节点的一条记录。declare@tabtable(idint,xmlDataxml)declare@xmlnvarchar(max)set@xml='Johnabc100def99Maryabc200Petera
我目前正在阅读大量文章以试图帮助我。似乎有太多选择,似乎无法找到一个干净的解决方案。它可能是非常基本的,所以提前道歉!所以我在SQL2008中有一个XML字段。它基本上包含如下内容:14等等……我希望做的是将参数传递给proc以插入一个值(如果它不存在)..因此,与其先读取xml然后在.NET代码中执行此操作,不如在存储的proc/t-sql中有一种干净的方法来执行此操作???感谢任何帮助!我相信这是一个相当普遍的问题! 最佳答案 使用value()的示例方法:DECLARE@xxml,@paramintSET@x='123'SET