希望有人可以帮我解决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
任何查询数据的帮助都会非常棒,因为我已经尝试了几个小时。谢谢。
答案 0 :(得分:0)
清理您的输入,然后转换为XML并一如既往地使用。
SELECT
CAST(
REPLACE(
REPLACE('<entry name=\"cleaned_sectors\" type=\"uint\">585937500</entry>\r\n'
,'\"', '"')
,'\r\n', '')
AS XML)