jjzjj

sql-server - 将 XML 从一种格式转换为另一种格式

我在下面有存储在表中的xml数据。我拥有的XML结构Iwantacompletelynaturalchildbirth-nomedicalinterventionsformenomedicalinterventionsforme我需要将此XML转换为稍微不同的格式,如下所示。我需要的XML结构12此处“Value”更改为“Choice”,“Value”元素的“ID”属性更改为元素。我知道这可以在otherways中完成,就像使用XSLT一样。但如果能用SQL本身来完成会更有帮助。有人可以帮我用SQL转换吗? 最佳答案 使用这个变量来

sql-server - 在 SQL Server 中更新 XML 字符串时查询优化?

我正在使用如下所示的XML字符串。我必须按如下方式更新XML字符串:如果XML字符串包含1000条或更多条记录,它将终止查询如果XML字符串包含我该怎么做?示例数据创建临时表CREATETABLE#xmltable(IdINTIdentity(1,1)PRIMARYKEYCLUSTERED,DataValueXML);CREATEPRIMARYXMLINDEXindexratesheetON#xmltable(DataValue)向表中插入数据INSERTINTO(DataValue)VALUES(TheXMLfromAbove)更新表中的XML字符串DECLARE@iINT1WHIL

sql-server - 从 SQL Server 为每个客户生成多个结果的单个 XML 文件

我需要向供应商发送一个XML文件,其中包含来self们SQLServer数据库的特定数据。我知道SQLServer确实与XML集成,但我不熟悉它,所以我决定做的只是选择XML标记作为连接文本,中间有我需要的字段。这行得通,但我随后意识到该解决方案不适合我们的需求。原因是,对于给定的客户,可能有多个结果。如果有多个结果,由于SQLServer为每个结果返回一个单独的行,它也会为每个客户生成多个文件。我们需要为每个客户提供一个文件。这是专门为每个客户生成多个结果的SQL片段:--Carriagereturninvariableforrepeatedusedeclare@crvarchar(

SQL Server,当多个节点/元素具有相同的名称时,查询表中的多个 XML 记录以获取值

我有一个名为xml_table的表,其中包含两列:unique_id、xml_data。表中的每条记录在xml_data列中都有不同的XML数据。让我们假设XML架构如下所示。0.310.320.33现在假设我正在搜索产品B。我希望从表中的所有记录中获得如下所示的结果集,其中任何PROD/@NAME='B'...|ORDER_NAME|ORDER_LINE|PROD_NAME|UOM_WEIGHT|如果我只从表中搜索一条XML记录,我可以这样做...selectxml_data.value('(/ORDER/@ORDER_NAME)[1]','varchar(max)')asORDER

sql-server - 可以提取存储在 XML 中的列中的 *distinct* 键(跨所有行)吗?

我有一个包含列的[users]表:[id]int[userdetails]nvarchar(max)[userdetails]包含如下数据:每一行可以包含不同的键/值元素组合。在查询中,我想提取所有不同(跨所有行)KEY值的列表。这甚至可能吗?我之前问过类似的问题:https://stackoverflow.com/a/50281264/8678从上面查询特定元素的语法是这样的:declare@tbltable(idint,userdetailsnvarchar(max))insert@tbl(id,userdetails)values(1,'');withtblas(selectid

sql - 如何通过 SQL Server 从 XML 中的节点获取值

我在网上找到了几条关于此的信息,但我无法让它在我的生活中发挥作用。这是我的XML:我需要提取每个节点的ID和名称值。有很多。我尝试这样做但它返回NULL:select[xml].value('(/Alter/Object/ObjectDefinition/MeasureGroup/Partitions/Partition/ID)[1]','varchar(max)')fromtest_xml我知道上面只会返回1条记录。我的问题是,如何返回所有记录?这是XML文本(精简版):ts_homevideo_sum_20140430_76091ba1-3a51-45bf-a767-f9f3de7

sql - SQL Server 中的条件 XML 修改

是否可以在这样的case语句中使用XML.modify,或者这是否必须是2个单独的更新语句?UPDATEsSETCASEWHEN[XMLData]ISNOTNULLTHEN[XMLData].modify('delete//invoice/account/contactinformation')END,CASEWHEN[SummaryXMLData]ISNOTNULLTHEN[SummaryXMLData].modify('delete//invoice/account/contactinformation')ENDFROMITS_CSC.[Statement].[StatementS

sql - SQL Server 2005 XML 数据类型的缺点(如果有的话)

我需要在SQLServer2005数据库中记录XML片段以用于日志记录(在本例中为SOAP消息)。是否有任何理由在简单的varchar或nvarchar列上使用XML数据类型?我已经看到能够使用XPath进入XML中的数据的实例会相当不错,而且在一些简短的研究中我还没有发现任何真正的缺点。是否有任何需要注意的陷阱,或者是否有更好的方法来解决这个问题? 最佳答案 Here这是一篇关于该主题的很棒的论坛帖子。通常,如果您预见需要XML操作和键入功能,请使用XML数据类型。 关于sql-SQL

sql - 在 SQL Server 中解析 XML 并将其导入表

我编写了一个将表数据导出到XML文件的CLR程序集。现在我想将此数据导入另一个实例的临时表中。XML文件结构是这样的:110.00.80404.002008-04-04T00:00:002008-04-04T00:00:00我希望在目标位置解析XML并将其导入到临时表中。我也有主表,所以我可以从那里得到表结构。有办法吗?我使用OPENXML,但它似乎无法正常工作。我可以将XML文件读入表中,该表将存储在XML数据类型的列中。我的问题是解析该列中的数据。这是一个临时尝试:CREATETABLE##T(IntColint,XmlColxml)GOINSERTINTO##T(XmlCol)S

sql-server - 如何防止 SQL Server 连接具有相同名称的 XML 结果

我正在尝试使用SQL2008中的XML功能生成一个XML文档,但我遇到了一个问题,该文档要求两个节点具有相同的名称,但SQLServer会自动连接任何具有相同名称的节点。例如:SomeStreetSomeotherinfo问题是当我尝试通过执行下面的SQL来执行此操作时,我得到:SomeStreetSomeotherinfo以下是我选择数据的方式:SELECTCustomerStreet1AS'location/address',CustomerStreet2AS'location/address'FROMCustomersFORXMLPATH('Customer')虽然在两个地址字段