Какъв атрибут или елемент искате да извлечете от възли?? Не можете да конвертирате целия XML възел в bigint (както се опитва да направи вашата заявка....)
Опитвате ли се да извлечете стойност??
Тогава имате нужда от:
;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)
Първо:тъй като има много <Местоположение>код> възли във вашия XML, трябва да използвате CROSS APPLY и .nodes() функция за получаване на всички xml възли.
Второ, тъй като искате да извлечете атрибута Работни часове (мое предположение), трябва да използвате .value('@LaborHours )` подход.
И накрая, тъй като тези стойности са 1.0 или 2.5 , трябва да използвате decimal (с подходяща точност и мащаб), за да получите тези стойности - не bigint ...