Ich habe ein Problem mit arithmetischen Überlauf bei der Konvertierung in bigint in SQL Server 2008. Das folgende ist verwirrend mich.Arithmetische Überlauf w/bigints in SQL Server 2008
Dies funktioniert:
select 58356453 * 228204732751
Antwort: 13317218761161292203
Aber alle anderen Versuche, die explizite Konvertierung beinhalten scheitern.
select convert(bigint, 58356453 * 228204732751)
Ergebnis: arithmetischer Überlauf
begin
declare @key bigint = 58356453,
@workingVal bigint,
@primeMultiplier1 bigint = 228204732751;
set @workingVal = @key * @primeMultiplier1;
end;
Ergebnis: arithmetischer Überlauf
Was ich hier fehlt? Ich habe auch "cast (BigNumber as bigint)" ausprobiert (glaube nicht, dass es anders ist als convert), und verschiedene Kombinationen von Konvertierungen vor/nach arithmetischen Operationen.
Und das ist auf Windows Server 2008 x64
Ich versuchte select convert (bigint, 58.356.453) * convert (bigint, 228.204.732.751) mit dem gleichen Fehler –