Имам таблица с 5 колони, 4 от които са десетичен тип данни (18, 2). Искам да добавя стойностите на тези четири без загуба на точност. Ако направя Select column1, column2+column3+column4+column5
, получавам обща сума, която е с няколко десетични знака по-висока от действителната обща сума. Ако обаче просто направя избор на всички колони и експортирам резултата в excel, сумата от тези четири колони в excel е точна. Как мога да постигна висока точност при добавяне на стойност на колона в Excel?
SQl Добавяне на стойности в колони без загуба на прецизност
comment
Преобразувайте една от колоните в decimal(20,2) при събиране.
- person jarlh   schedule 26.03.2015
comment
опитах това, но не се получи
- person jpo   schedule 26.03.2015
comment
Можете ли да публикувате някои примерни данни заедно със съответната схема и заявката, която сте опитали? Освен това коя СУБД използвате?
- person Giorgos Betsos   schedule 26.03.2015
comment
всъщност предложението @jarlh проработи. Трябваше да направя това в някои конкретни колони
- person jpo   schedule 26.03.2015
comment
Бих предложил след това да публикувате решението като отговор, така че други читатели да могат да се възползват от това в бъдеще.
- person Giorgos Betsos   schedule 26.03.2015
Отговори (1)
Преобразувайте поне една от колоните в decimal(20,2) при добавяне, нещо подобно
select cast(column1 as decimal(20,2)) + column2 + column3 + column4 + column5
person
jarlh
schedule
26.03.2015