Calculation

Mira Jo·2021년 8월 26일
0

MSSQL

목록 보기
8/8
  • 소수점 계산할 때 FLOAT, REAL형식 사용 지양 (이유: 근사 데이터 형식이라 정확한 값을 저장하지 않고 가까운 값을 저장하기 때문)
    => e.g. 출근율 계산하는 경우, 총 출근한 사람 수 / 전체 기사 수 (정수/정수)
    	convert(decimal(10,2), isnull( sum([1]*1.0), 0.0) / isnull(sum([1]) + sum([2])+sum([3]), 0) * 100) 
    => 나누는 분자에 1.0을 곱해 소수점으로 만든다
    => INTEGER, DECIMAL, MONEY, SMALLMONEY를 사용
    => e.g. DECIMAL(5,2) 는 정수 5자리,소수 2자리가 아니라 전체 5자리 중, 소수점이 2자리까지 확보 되었다는 의미.(정수 최대 3자리, 소수점 최대 2자리)
    => 12.345 => 12.35 / 1.2345 => 1.23 / 123.1 => 123.10 / 1234.5 => 에러! / 12345 => 에러! (정수가 3자리 이상이므로 OVERFLOW 에러 발생)
  • FLOAT => DECIMAL로 변경할 때는, 기존 FLOAT속성일 때 데이터가 어떻게 저장되어 있느냐를 확인해야 됨.

0개의 댓글