繁体   English   中英

查询XML类型数据列并插入SQL Server表

[英]Query XML type data column and insert into SQL Server table

希望有人可以帮助我解决SQL Server问题,在我们的一个表中,我有一个longtext数据类型,其中包含XML类型格式的数据,如下所示:

<entry name=\"cleaned_sectors\" type=\"uint\">585937500</entry>\r\n<entry name=\"bad_sectors\" type=\"uint\">0</entry>\r\n<entry name=\"state\"

通常,当我在表中遇到XML时,它看起来像这样:

<header>data</Header><Manufacturer>Dell</Manufacturer>

然后生成查询以获取数据,如下所示:

SELECT 
    Tbl.Col.value('Header[1], 'nvarchar(50)'), Tbl.Col.value('manufacturer[1].'nvarchar(50)') 
FROM ...

但是,您会注意到此数据不是标准XML,并且每个标记都使用\\“包含”,有没有一种方法可以查询包含的数据,然后将其导入到另一个表中?

预期的输出将类似于:

Cleaned Sectors | Bad Sectors
585937500       | 0

正如我已经尝试了几个小时一样,查询数据的任何帮助都将非常出色。 谢谢。

像清理输入一样,然后转换为XML并照常使用。

SELECT
  CAST(
    REPLACE(
      REPLACE('<entry name=\"cleaned_sectors\" type=\"uint\">585937500</entry>\r\n'
      ,'\"', '"')
   ,'\r\n', '')
  AS XML)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM