여느때와 다름 없이 일을 하는데, 엑셀에서 계산한 값과 mysql 쿼리로 계산한 값이 다른 경우가 발생했다.
분석을 해보니, 소수점 자리수가 5로 끝나는 경우에 값이 달라지는걸 확인했다.

MySQL 의 Round() 함수는 엑셀이나 코드로 사용되는 Round() 함수와 평소에는 별반 다르지 않다.
하지만 소수점이 정확히 정수와 정수의 절반일 때, 차이점이 발생한다.
MySQL 은 가장 근처의 짝수(even)로 반올림하고, 엑셀이나 일반적인 코드에서는 무조건 반올림한다.
즉, 16.5를 반올림하는 경우에
MySQL 은 16 과 17 중에 짝수인 16을 반환하고
기타 다른 함수는 무조건 17을 반환하여 차이가 발생하는 것이다..!!!
라운딩 기법의 이름에서 알 수 있듯이 은행가에서 쓴다고 하는데.. 아마 대량의 데이터에 대해 각각을 반올림(내림) 하고 그것의 합산을 구할 때, 오차율을 최소화하려고 쓰는 것 같긴하다.. (개빡친다)