sql 쿼리 문의~
본문
안녕하세요?
쿼리에서 sum을 사용중입니다.
그런데 실제로는 합한 값이 0.5여야 하는데 반올림된 1로 표시하는 문제가 있습니다.
0.5로 표현하려면 어떻게 해야 하나요?
제가 사용한 쿼리는 아래와 같습니다.
select sum(vday_float) as tx from vac_rep_days as da inner join kgstec_vac_rep as rep on da.vrep_idx = rep.vrep_idx where rep.mb_no = '33' and vac_idx = '0' and vday_date<= '2022-06-28' and vrep_status = '결재완료' and vday_date like '2022%'
답변 4
q1 값이 나오게 TRUNCATE . 1 해보세요
select TRUNCATE(sum(tb.aaa), 1) as q1
, TRUNCATE(sum(tb.aaa), 0) as q2
from
(
select 1.2 aaa
union all select 1.4 aaa
) tb
q1 값이 나오게 TRUNCATE . 1 해보세요
select TRUNCATE(sum(tb.aaa), 1) as q1
, TRUNCATE(sum(tb.aaa), 0) as q2
from
(
select 1.2 aaa
union all select 1.4 aaa
) tb
mysql 로 들아가서 해당 필드(vday_float)가 float형이나 double인지 먼저 확인을 해보시기 바랍니다.
그리고 정수형으로 정확하게 표현을 하기 위해서 join을 하기전 먼 조건에 맞는 테이블 끼리 sum을 한번 해보시신 후 양쪽 테이블에서 정수값이 아닌 소숫점 숫자로 정확하게 노출되는지도 먼저 확인해보시기 후에
join 조건을 성립하여 확이해보시면 해당 문제는 해결될꺼 같습니다.