Hvilken attribut eller element vil du udtrække fra bigint
(som din forespørgsel forsøger at gøre...)
Prøver du at udtrække
værdi?
Så skal du bruge:
;WITH XMLNAMESPACES(DEFAULT 'http://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)
Først og fremmest:da der er flere CROSS APPLY
og .nodes()
funktion for at få alle
xml-noder.
For det andet, da du vil hente attributten Arbejdstimer
(min antagelse), skal du bruge .value('@LaborHours
)` tilgang.
Og endelig, da disse værdier er 1.0
eller 2.5
, skal du bruge decimal
(med korrekt præcision og skala) for at få disse værdier - ikke bigint
....