我正在尝试理解查询XML的value()方法,但我似乎无法让它返回任何结果......
CREATE TABLE UserListing
(Data XML)
DECLARE @xmlValue xml
SET @xmlValue = (SELECT * FROM Users for XML PATH ('User'), ROOT ('UserListing'), TYPE)
INSERT INTO UserListing values (@xmlValue)
查询:
select Data from UserListing
返回:
<UserListing>
<User>
<userId>Bob</userId>
<EmailAddress>bob@bob.com</EmailAddress>
</User>
<User>
<userId>Bill</userId>
<EmailAddress>bill@bill.com</EmailAddress>
</User>
</UserListing>
查询:
select Data from UserListing
where
Data.value('(/UserListing/User/userId)[1]', 'varchar(max)') like 'Bob'
...没有结果,但会返回列标题?