SQl Добавяне на стойности в колони без загуба на прецизност

Имам таблица с 5 колони, 4 от които са десетичен тип данни (18, 2). Искам да добавя стойностите на тези четири без загуба на точност. Ако направя Select column1, column2+column3+column4+column5, получавам обща сума, която е с няколко десетични знака по-висока от действителната обща сума. Ако обаче просто направя избор на всички колони и експортирам резултата в excel, сумата от тези четири колони в excel е точна. Как мога да постигна висока точност при добавяне на стойност на колона в Excel?


person jpo    schedule 26.03.2015    source източник
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