Qual atributo ou elemento você deseja extrair do
<Location> nós?? Você não pode converter todo o nó XML em um bigint (como sua consulta tenta fazer ....) Você tenta extrair o
<Location LaborHours="1.0"> valor?? Então você precisa:
;WITH XMLNAMESPACES(DEFAULT 'https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions')
SELECT
XC.value('@LaborHours', 'decimal(18,4)')
FROM
Production.ProductModel
CROSS APPLY
Instructions.nodes('/root/Location') AS XT(XC)
Em primeiro lugar:uma vez que existem vários
<Location> nós em seu XML, você deve usar CROSS APPLY e o .nodes() função para obter todos os <Location> nós xml. Em segundo lugar, como você deseja recuperar o atributo
LaborHours (minha suposição), você precisa usar o .value('@LaborHours )`. E por último, como esses valores são
1.0 ou 2.5 , você deve usar decimal (com precisão e escala adequadas) para obter esses valores - não bigint ....