Jaký atribut nebo prvek chcete extrahovat z <Location> uzly?? Nelze převést celý uzel XML na bigint (jak se váš dotaz pokouší udělat....)
Zkoušíte extrahovat <Location LaborHours="1.0"> hodnotu??
Pak potřebujete:
;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)
Za prvé:protože jich je více <Location> uzly ve vašem XML, musíte použít CROSS APPLY a .nodes() získat všechny <Location> xml uzly.
Za druhé, protože chcete načíst atribut LaborHours (můj předpoklad), musíte použít .value('@LaborHours ).
A konečně, protože tyto hodnoty jsou 1.0 nebo 2.5 , musíte použít decimal (s náležitou přesností a měřítkem), abyste získali tyto hodnoty – nikoli bigint ....