Konvertierung fehlgeschlagen beim Konvertieren des nvarchar-Wertes '' in den datatyp int in Xml-Parsing

DECLARE @xml xml ='<Root><Child><Number> 80</Number></Child></Root>' SELECT c.value('(./Number)[1]', 'int') AS Number FROM @xml.nodes('Root/Child') T(c) 

Ich bekomme die xml aus der file, also wenn der Wert des Knotens (hier ist es 80) in der neuen Zeile ist, bei der Auswahl der xml mit der obigen Abfrage bekam ich einen Fehler wie:

Msg 245, Ebene 16, Zustand 1, Zeile 4 Konvertierung fehlgeschlagen beim Konvertieren des nvarchar-Wertes '
80 'zum datatyp int.

Aber wenn die xml in der gleichen Zeile wie DECLARE @xml xml ='<Root><Child><Number>80</Number></Child></Root>'

Es wird gut funktionieren Wie könnte ich dieses Problem lösen? Jemand bitte helfen mir, weiterzugehen

Versuchen Sie, die Zahlenfunktion zu verwenden:

 DECLARE @xml xml ='<Root><Child><Number> 80</Number></Child></Root>' SELECT c.value('number((./Number)[1])', 'int') AS Number FROM @xml.nodes('Root/Child') T(c)