Sto lavorando a SQLServer 2008 con la seguente tabella:arrotondamento decimale in unione di somme?
id user program seconds
------------------------------------
9999 'user01' 'pr01' 5
colonna 'secondi' è definito come un decimale (14,0) e l'unica riga nella tabella è quella mostrata.
così cerco alcune domande:
Q1:
select seconds*0.95 from myTable
union all
select seconds from myTable
Dà il risultato mi aspetto:
4.75
5.00
Q2:
select sum(seconds)*0.95 from myTable
union all
select sum(seconds) from myTable
mi aspettavo il stesso risultato come in Q1 ma il resu lt che ottengo è:
5
5
Q3:
select sum(seconds)*0.95 from myTable
union all
select sum(seconds)*1.00 from myTable
In questo caso ho ottenere i risultati che si aspettano:
4.75
5.00
Quindi, vorrei sapere perché Q2 non è sempre i risultati attesi.
Ho provato lo stesso esempio con 'seconds' è un decimale (2,0) e funziona bene quindi suppongo che abbia qualcosa a che fare con la dimensione del decimale, ma in quel caso non riesco a capire perché Q1 e Q3 funzionano mentre Q2 no.
Sto provando con decimale (2,0) e non sembra funzionare né –