I'm trying to select a column in a table which contains XML using XPath.
This is my query:
SELECT
[ServiceRequestHist].id,[ServiceRequestHist].SoapOut,
CAST(SoapOut AS XML).value(CONVERT(xml, '(/Envelope/Body/InterbankTransferResponse/InterbankTransferResult/AccountFirstHolderName)[1]', 2), 'varchar(100)') AS AccountFirstHolderName,
CAST(SoapOut AS XML).value(CONVERT(xml,'(/Envelope/Body/InterbankTransferResponse/InterbankTransferResult/AccountNumber)[1]', 2), 'varchar(100)') AS AccountNumber,
CAST(SoapOut AS XML).value(CONVERT(xml,'(/Envelope/Body/InterbankTransferResponse/InterbankTransferResult/BeneficiaryBank)[1]', 2), 'varchar(100)') AS BeneficiaryBank
FROM
[STBMZ_eBankitMonitoring].[dbo].[ServiceRequestHist]
The output is:
Msg 8172, Level 16, State 1, Line 4
The argument 1 of the XML data type method "value" must be a string literal.
Some help?