단가 1127.35
수량 3
부가세 10%
환율 1237.90
실판매가 산출 select ((1127.35 * 3) + ((1127.35 * 3) *0.10)) * 1237.90
단가 * 수량 + 부가세 10% * 환율 한 금액 입니다. 계산기 및 sql상 숫자로 입력해서 계산하면
4605303.664500 이렇게 나옵니다..
하지만 아래와 같이 변수에 값을 할당해서 계산을 하면 값이 다르게 나오는데요..
--매출데이터 생성시 사용할 필드
Declare @sale_sale_price numeric(15,2)
Declare @sale_sale_qty numeric(15,2)
Declare @sale_sale_amt numeric(15,2)
Declare @sale_sale_tot_amt numeric(15,2)
Declare @sale_sale_exchange_rt numeric(15,2)
Declare @sale_sale_comp_amt numeric(15,2)
--초기화
Set @sale_sale_price = 0.00
Set @sale_sale_qty = 0.00
Set @sale_sale_amt = 0.00
Set @sale_sale_tot_amt = 0.00
Set @sale_sale_exchange_rt = 0.00
Set @sale_sale_comp_amt = 0.00
--부가세율 값 가져오기
SELECT @sVatRt_ori = convert(numeric(15,2),ref_one) FROM cmt_comm_cd WHERE major_cd = 'C0203' and minor_cd = '1'
--부가세율 소수점으로 변환 (최종값 0.10)
Set @sVatRt = convert(numeric(15,2),@sVatRt_ori) / convert(numeric(15,2),100.00)
--아래 단가 및 총금액 계산
Set @sale_sale_price = convert(numeric(15,2),1127.35)
Set @sale_sale_qty = 3
Set @sale_sale_amt = convert(numeric(15,2),@sale_sale_price) * convert(numeric(15,2),@sale_sale_qty)
Set @sale_sale_tot_amt = convert(numeric(15,2),@sale_sale_amt) + (convert(numeric(15,2),@sale_sale_amt) * convert(numeric(15,2),@sVatRt))
Set @sale_sale_exchange_rt = convert(numeric(15,2),1237.90)
Set @sale_sale_comp_amt = convert(numeric(15,2),@sale_sale_tot_amt) * convert(numeric(15,2),@sale_sale_exchange_rt)
이렇게 @sale_sale_comp_amt 확인을 해보면
4605309.85 이렇게 찍힙니다.... 거의 6정도가 차이가 나는데.... 초짜다 보니... 아직도 헤매네요 도움 주시면 감사하겠습니다 ㅠㅠ
Comment 1
-
풀내기vber
2013.12.18 15:24
자답
numeric(15,2) 대신 float 선언해서 계산했습니다.