Atribut atau elemen apa yang ingin Anda ekstrak dari <Location> simpul?? Anda tidak dapat mengonversi seluruh simpul XML menjadi bigint (seperti yang coba dilakukan kueri Anda....)
Apakah Anda mencoba mengekstrak <Location LaborHours="1.0"> nilai??
Maka Anda perlu:
;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)
Pertama-tama:karena ada banyak <Location> node dalam XML Anda, Anda harus menggunakan CROSS APPLY dan .nodes() berfungsi untuk mendapatkan semua <Location> xml node.
Kedua, karena Anda ingin mengambil atribut LaborHours (asumsi saya), Anda perlu menggunakan .value('@LaborHours )` pendekatan.
Dan terakhir, karena nilai tersebut adalah 1.0 atau 2.5 , Anda harus menggunakan decimal (dengan presisi dan skala yang tepat) untuk mendapatkan nilai tersebut - bukan bigint ....