다음을 통해 공유


간격 데이터 형식 정밀도

간격 데이터 형식의 전체 자릿수에는 간격 선행 정밀도, 간격 정밀도 및 초 정밀도가 포함됩니다.

간격의 선행 필드는 부호 있는 숫자입니다. 선행 필드의 최대 자릿수는 데이터 형식 선언의 일부인 간격 선행 정밀도라는 수량에 의해 결정됩니다. 예를 들어 선언: INTERVAL HOUR(5) TO MINUTE에는 간격 선행 전체 자릿수가 5입니다. HOUR 필드는 -99999부터 99999까지의 값을 사용할 수 있습니다. 전체 자릿수 간격은 설명자 레코드의 SQL_DESC_DATETIME_INTERVAL_PRECISION 필드에 포함됩니다.

간격 데이터 형식이 구성된 필드 목록을 간격 정밀도라고 합니다. "precision"이라는 용어가 암시할 수 있으므로 숫자 값이 아닙니다. 예를 들어 INTERVAL DAY에서 SECOND까지의 간격 정밀도는 DAY, HOUR, MINUTE, SECOND 목록입니다. 이 값을 보유하는 설명자 필드가 없습니다. 간격 전체 자릿수는 항상 간격 데이터 형식에 따라 결정될 수 있습니다.

SECOND 필드가 있는 모든 간격 데이터 형식의 전체 자릿수는 초입니다. 초 값의 소수 부분에 허용되는 소수 자릿수입니다. 전체 자릿수가 소수점 앞의 자릿수를 나타내는 다른 데이터 형식과 다릅니다. 간격 데이터 형식의 초 정밀도는 소수점 뒤의 자릿수입니다. 예를 들어 초 전체 자릿수가 6으로 설정된 경우 분수 필드의 123456 수는 .123456 해석되고 숫자 1230은 .001230으로 해석됩니다. 다른 데이터 형식의 경우 이를 크기 조정이라고 합니다. 간격 초 전체 자릿수는 설명자의 SQL_DESC_PRECISION 필드에 포함됩니다. SQL 간격 값의 소수 자릿수 초 구성 요소의 전체 자릿수가 C 간격 구조에서 보유할 수 있는 값보다 크면 C 간격 구조로 변환할 때 SQL 간격의 소수 자릿수 초 값이 반올림되는지 또는 잘렸는지 드라이버에서 정의됩니다.

SQL_DESC_CONCISE_TYPE 필드를 간격 데이터 형식으로 설정하면 SQL_DESC_TYPE 필드가 SQL_INTERVAL 설정되고 SQL_DESC_DATETIME_INTERVAL_CODE 간격 데이터 형식의 코드로 설정됩니다. SQL_DESC_DATETIME_INTERVAL_PRECISION 필드는 자동으로 기본 간격 선행 전체 자릿수 2로 설정되고 SQL_DESC_PRECISION 필드는 자동으로 기본 간격 초 정밀도 6으로 설정됩니다. 이러한 값 중 하나가 적절하지 않은 경우 애플리케이션은 SQLSetDescField 호출을 통해 설명자 필드를 명시적으로 설정해야 합니다.