Msg 9308, Level 16, State 1, Line 7
%sThe argument of ‘%ls’ must be of a single numeric primitive type or ‘http://www.w3.org/2004/07/xpath-datatypes#untypedAtomic’. Found argument of type ‘%ls’.
This error message appears when in an XQuery the arguments for a sum() operations do not evaluate to a single numeric primitive type.
The T-SQL statement can be parsed, but causes the error at runtime.
Errors of the Severity level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be run this way. The arguments for a sum() operation must evaluate to a single numeric primitive type.
This error message was introduced with SQL Server 2005.
DECLARE @xml xml;
SET @xml = ‘<Result />’;
@xml.query (‘for $a in(1, 2), $b in(3, 4)
$a < $b
return sum($a + $b != $a)’) as XML;
In the above example we try to use the logical != operator. This turns the whole expression $a + $b != $a into a logical comparison that returns a boolean result. This raises the error.