Sql 搜索XML数据中的所有事件
我的表有一列包含xml数据 e、 g: 有人能给我一个快速的开始怎么做?我知道如何搜索特定属性,不幸的是我不知道确切的属性,文本可以无处不在 更新 这是一个开始,但我仍然只想搜索newWert部分:Sql 搜索XML数据中的所有事件,sql,xml,Sql,Xml,我的表有一列包含xml数据 e、 g: 有人能给我一个快速的开始怎么做?我知道如何搜索特定属性,不幸的是我不知道确切的属性,文本可以无处不在 更新 这是一个开始,但我仍然只想搜索newWert部分: SELECT x.y.value('local-name(.)', 'VARCHAR(MAX)'), x.y.value('.', 'VARCHAR(MAX)') FROM Meldung m CROSS apply m.Protokolldaten.nodes('//*[text()]') AS
SELECT
x.y.value('local-name(.)', 'VARCHAR(MAX)'),
x.y.value('.', 'VARCHAR(MAX)')
FROM Meldung m
CROSS apply m.Protokolldaten.nodes('//*[text()]') AS x(y)
WHERE Id = 'D81E6F2C-04C9-4F5B-9473-A45600EEA0DE'
看起来你想要这样的东西:
选择“馄饨”作为数据,
T.X.value('local-name(..),'varchar(max)'
来自dbo.Meldung m
交叉应用m.Protokolldaten.nodes('//newWert//text()[.=“Ravioli”]')作为T(X);
开始起草一份草稿(在本示例中,他们使用LINQ),如果您遇到问题,请发布您的代码,以便我们可以帮助您。您的xml中有一些拼写错误的单词,是故意的吗?(拉尔维奥利->馄饨)它是故意的:)它有点像一根木头。第一部分是旧值,第二部分是新值。我更新了帖子,现在我找到了一种获取所有值的方法,但仍然无法过滤掉旧部分
Data | Attributename
Ravioli | Description
Ravioli | AnotherField
SELECT
x.y.value('local-name(.)', 'VARCHAR(MAX)'),
x.y.value('.', 'VARCHAR(MAX)')
FROM Meldung m
CROSS apply m.Protokolldaten.nodes('//*[text()]') AS x(y)
WHERE Id = 'D81E6F2C-04C9-4F5B-9473-A45600EEA0DE'