Sto riscontrando un problema con l'overflow aritmetico durante la conversione in bigint in SQL Server 2008. Quanto segue mi confonde.Overflow aritmetico w/bigints in SQL Server 2008
Questo funziona:
select 58356453 * 228204732751
Risposta: 13317218761161292203
Ma, tutti gli altri tentativi che coinvolgono conversione esplicita fallire.
select convert(bigint, 58356453 * 228204732751)
risultato: overflow aritmetico
begin
declare @key bigint = 58356453,
@workingVal bigint,
@primeMultiplier1 bigint = 228204732751;
set @workingVal = @key * @primeMultiplier1;
end;
risultato: overflow aritmetico
Che cosa mi manca qui? Ho anche provato "cast (BigNumber come bigint)" (non penso che sia diverso dalla conversione) e varie combinazioni di conversione prima/dopo operazioni aritmetiche.
E, questo è su Windows Server 2008 x64
Ho provato select convert (bigint, 58.356.453) * convert (bigint, 228.204.732.751) con lo stesso errore –