ESQL DECIMAL 데이터 유형

DECIMAL 데이터 유형에는 10진수의 정확한 표현이 포함됩니다. 10진수에는 정밀도, 스케일 및 반올림이 포함됩니다. 정밀도는 숫자의 전체 자릿수입니다.
  • 최소 정밀도는 1입니다.
  • 최대 정밀도는 34입니다.
스케일은 소수점 오른쪽의 자릿수입니다.
  • 최소 스케일(-exponent)은 -999,999,999입니다.
  • 최대 스케일(-exponent)은 +999,999,999입니다.

정밀도와 스케일은 자동으로 지정되므로 DECIMAL을 선언할 때 정의할 수 없습니다. DECIMAL로 캐스트하는 경우에만 정밀도와 스케일을 지정할 수 있습니다.

스케일, 정밀도 및 반올림

다음 스케일, 정밀도 및 반올림 규칙이 적용됩니다.
  • 최대 정밀도 내에서 반올림을 할 필요가 없으면, 덧셈이나 뺄셈 이후의 스케일이 두 피연산자 스케일보다 큽니다.
  • 최대 정밀도 내에서 반올림을 할 필요가 없으면, 곱셈 이후의 스케일이 두 피연산자 스케일의 합입니다.
  • 나눗셈 이후의 정밀도는 결과를 정확하게 표시하고 최대 정밀도에 필요한 자릿수보다 작습니다.
  • 필요하다면 모든 덧셈, 뺄셈, 곱셈 및 나누셈이 최대 정밀도 내에 유지되도록 마지막 유효 숫자를 반올림합니다.
  • 모든 자동 반올림은 banker's 또는 half even symmetric 반올림입니다. 규칙은 다음과 같습니다.
    • 반올림 자리 숫자가 4 이하이면, 그 앞자리는 변하지 않습니다.
    • 반올림 자리 숫자가 6 이상이면, 그 앞자리는 증가합니다.
    • 반올림 자리 숫자가 5이면, 그 앞자리 숫자가 홀수이면 반올림되고 짝수이면 버립니다. 그러므로, 1.5 및 2.5는 2로 반올림되는 반면 3.5 및 4.5는 4로 반올림됩니다.
    • 음수도 동일한 규칙에 따라 반올림됩니다.

10진수 리터럴

12345와 같이 소수점 또는 지수를 포함하지 않고 인용 부호가 없는 숫자 문자열로만 구성된 10진수 리터럴은 정수로 표시될 수 있을 정도로 작다면 INTEGER 유형입니다. 그렇지 않으면 DECIMAL 유형입니다.

123e1과 같이 인용 부호가 없는 숫자 문자열 소수점(선택사항) 및 지수로 구성된 10진수 리터럴은 Float로 표시될 수 있을 정도로 작다면 FLOAT 유형입니다. 그렇지 않으면 DECIMAL 유형입니다.

소수점 및 지수가 있거나 없고 DECIMAL 키워드 및 인용 부호가 없는 숫자 문자열로 구성된 10진수 리터럴은 DECIMAL 유형(예: DECIMAL '42', DECIMAL '1.2346789e+203')입니다.

이런 유형의 리터럴에 있는 문자열에는 다음과 같은 값을 가지며(대소문자 구분 없음),
  • 'NAN', not a number
  • 'INF', 'INFINITY'
  • '+INF', '+INFINITY'
  • '-INF', '-INFINITY'
  • 'MAX'
  • 'MIN'
해당하는 값을 표시합니다.
변경 시작충분한 정밀도 숫자를 지정하지 않으면 다음 예에 표시된 대로 INF가 리턴됩니다.
 SET VAL [equals char] CAST('123456' AS DECIMAL(3,0))
변경 끝
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ak17820_