从sql中xml列的嵌套字段中删除属性

从sql中xml列的嵌套字段中删除属性,sql,sql-server,xml,Sql,Sql Server,Xml,在尝试了许多关于如何在SQL中从xml列中删除字段的答案之后,我仍然无法找到在多个字段中删除相同属性的方法。当前,我的xml列看起来如下所示: <ArrayOfCodes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Code code="001 "> <price xmlns="http://

在尝试了许多关于如何在SQL中从xml列中删除字段的答案之后,我仍然无法找到在多个字段中删除相同属性的方法。当前,我的xml列看起来如下所示:

<ArrayOfCodes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Code code="001 ">
      <price xmlns="http://..." xsi:nil="true" />
      <salePrice xmlns="http://..." xsi:nil="true" />
      <quantity xmlns="http:/...">1</>
   </Code>
   <Code code="002 ">
      <price xmlns="http://..." xsi:nil="true" />
      <salePrice xmlns="http://..." xsi:nil="true" />
      <quantity xmlns="http:/...">1</>
   </Code>
   <Code code="003 ">
      <price xmlns="http://..." xsi:nil="true" />
      <salePrice xmlns="http://..." xsi:nil="true" />
      <quantity xmlns="http:/...">1</>
   </Code>
</ArrayOfCodes>


1.


1.


1.


我的任务是删除所有字段中的xmlns属性。你能帮我一下吗?

快走。将XML视为文本并
UPDATE选项卡\u name SET XML\u column=CAST(替换(CAST(XML\u column为VARCHAR(MAX)),'xmlns='http://...“,”)作为XML)
那就行了!但我想知道,在数百万条生产线上运行它的性能成本是多少。这是为哪种RDBMS设计的?请添加一个标记,以指定您使用的是
mysql
postgresql
sqlserver
oracle
还是
db2
——或者其他完全不同的东西。XML支持也非常特定于供应商:为什么要删除对XML命名空间的所有引用?他们在那里是有原因的不要只是移除它们——使用它们!它们占据了60%的数据库空间,因此空间问题具有优先权。快速脏方法。将XML视为文本并
UPDATE选项卡\u name SET XML\u column=CAST(替换(CAST(XML\u column为VARCHAR(MAX)),'xmlns='http://...“,”)作为XML)
那就行了!但我想知道,在数百万条生产线上运行它的性能成本是多少。这是为哪种RDBMS设计的?请添加一个标记,以指定您使用的是
mysql
postgresql
sqlserver
oracle
还是
db2
——或者其他完全不同的东西。XML支持也非常特定于供应商:为什么要删除对XML命名空间的所有引用?他们在那里是有原因的不要只是移除它们——使用它们!它们占据了60%的数据库空间,因此空间问题具有优先权。