我在数据库中有一个 XML 字段,用于存储来自服务的 XML 响应。
有时,服务会超时,而 XML 字段中实际存储的是非 XML 值“超时”,它只是文本。
我想知道的是如何查询该文本!如果我尝试直接比较,它会告诉我无法比较字符串和 XML 值 - 尽管存储的值只是文本!
关于如何查询文本,您有什么想法吗?坦率地说,我很惊讶我的程序能够成功地将文本存储在 XML 字段中。
在 SSMS 中运行:
SELECT [ID]
,[TransactionRequestID]
,[ResponseXML]
,[ResponseDate]
FROM [TransactorData].[dbo].[tTransactionResponses]
where ResponseXML = 'Timeout Waiting for Reply'
ResponseXML 是 XML 字段。
其结果是:消息 402,级别 16,状态 1,第 2 行 数据类型 xml 和 varchar 在等于运算符中不兼容。