我有一个SQLServer2012表,其中一列是XML数据类型。以下是其中一个值:问题:如何编写一个查询,将以上所有内容显示为列,例如...SELECT???asprocessed,???asdeferred,???asdelivered,---etc.FROMmytable 最佳答案 这个怎么样:DECLARE@inputTABLE(IDINTNOTNULL,XmlColXML)INSERTINTO@inputVALUES(1,''),(2,'')SELECTID,Processed=xc.value('(Counter[@Cou
我将xml字符串作为nvarchar(Max)发送给SP''我用这种方式返回IDDECLARE@DeviceIDsnvarchar(max)=N'',@iDeviceINT;DECLARE@Devicestable(DeviceIdintPRIMARYKEY)EXECsp_xml_preparedocument@iDeviceOUTPUT,@DeviceIDsInsertInto@Devices(DeviceId)SELECTvalueFROMOPENXML(@iDevice,'/Devices/ID',3)WITH(valueint)EXECsp_xml_removedocument
我有一个要解析的XML文件。XML是使用通过Excel创建的SaveasXML因为XML文件是从MicrosoftExcel创建的,所以它有这个标题:我尝试提取的数据是这样设置的:JaneDoeJaneDoeXYZ(555)555-5555现在,我的查询如下所示:;WITHXMLNAMESPACES('urn:schemas-microsoft-com:office:spreadsheet'asss)select*from(selectX.value('local-name(.)[1]','varchar(max)')asName,X.value('.[1]','varchar(max
我将一个XML文档作为参数传递到我的存储过程。然后我试图填充游标以循环遍历XML的元素。我的问题是如何选择此XML文档的每个元素并用它们填充我的光标?XML文档12存储过程CREATEPROCEDUREInsert_Publication@authorsxmlASDECLARE@idintDECLAREauthors_cursorCURSORFORSELECT@authors.query('(/Authors/Author_id)')openauthors_cursorFETCHNEXTFROMauthors_cursorINTO@id 最佳答案
我在xml列中有这样的数据:1tea2coffee我想将productname的值更改为greentea,其中productID=2。我正在使用:UPDATE[dbo].ProductDocsSETProductDoc.modify('replacevalueof(/Product/ProductName)[2]with"NewName"')但在这里它总是会改变第二个产品的值(value)。请告诉我如何使用productID查询。 最佳答案 使用谓词表达式按productID值过滤product元素,如下所示:UPDATE[dbo]
我正在获取存储过程的XML,我需要对其进行迭代并根据XML发送电子邮件。我有另一个用于发送电子邮件的存储过程:MailingSystem..SP_SendEmail@Cc=N'',--nvarchar(500)@Bcc=N'',--nvarchar(500)@FromEMailAddress=N'',--nvarchar(500)@ReplyToEMailAddress=N'',--nvarchar(500)@Subject=N'',--nvarchar(500)@EmailRecipient=N'',--nvarchar(500)@ContentType=N'',--nvarchar
我的表结构如下:SELECT[EmpID],[EmpName],[DeptName],[BirthDate]FROM[dbo].[Employees]我想将这个表格数据转换为XML,最终输出如下:Davolio10/12/1989Andrew05/02/1985David11/09/1982`entercodehere 最佳答案 试试这个SELECT[DeptName],(SELECT[EmpID],[EmpName],[BirthDate]FROM@tableEWHEREE.DeptName=D.DeptNameFORXMLPAT
我想在SQLServer2005中比较具有多行的两个XML列。表结构如下CREATETABLE[dbo].[UpdationLog]([LogID][int]IDENTITY(1,1)NOTFORREPLICATIONNOTNULL,[CustID][int]NOTNULL,[OldValue][xml]NOTNULL,[NewValue][xml]NOTNULL,CONSTRAINT[PK_UpdationLog]PRIMARYKEYCLUSTERED([LogID]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DU
我需要将XML解析为SQLServer2012数据库。但是,我找不到任何好的指南来解析这种XML(这里是SELECTTOP2FROMtable):123-ABCY2016.01.028R8RN任何帮助,我如何从XML中解析“keyc”值?所以,我可以使用它的select子句/或将它插入到数据库中。 最佳答案 您可以使用nodes和value来获取该实体:DECLARE@DataTABLE(XmlTextXML)INSERT@DataVALUES('123-ABCY'),('2016.01.028R8RN')SELECTNodes.K
我公司的“联系人”表中有一个字段。在该表中,有一个XML类型的列。该列包含有关特定联系人的杂项数据。例如。123456apieceofcustomdatacontact下面的标签每个联系人可以不同,我必须查询这些片段在同一表中的关系数据列旁边。我使用过这样的结构:SELECTc.idASContactID,c.ContactNameasForeName,c.xmlvaluesn.value('(contact/Ref)[1]','VARCHAR(40)')asref,INNERJOINParticipantContactMappcmONc.id=pcm.contactidANDpcm.