Welches Attribut oder Element möchten Sie aus <Location> extrahieren Knoten?? Sie können nicht den gesamten XML-Knoten in einen bigint konvertieren (wie es Ihre Abfrage versucht ...)
Versuchen Sie, <Location LaborHours="1.0"> zu extrahieren Wert??
Dann brauchen Sie:
;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)
Zunächst einmal:da es mehrere gibt <Location> Knoten in Ihrem XML müssen Sie CROSS APPLY verwenden und die .nodes() Funktion, um alle <Location> abzurufen xml-Knoten.
Zweitens, da Sie das Attribut abrufen möchten LaborHours (meine Annahme), Sie müssen den .value('@LaborHours verwenden )` Ansatz.
Und schließlich, da diese Werte 1.0 sind oder 2.5 , müssen Sie decimal verwenden (mit der richtigen Genauigkeit und Skalierung), um diese Werte zu erhalten - nicht bigint ....