다음을 통해 공유


SQL에서 C로: 연-월 간격

연도별 간격 ODBC SQL 데이터 형식에 대한 식별자는 다음과 같습니다.

  • SQL_INTERVAL_MONTH
  • SQL_INTERVAL_YEAR
  • SQL_INTERVAL_YEAR_TO_MONTH

다음 표에서는 연도별 간격 SQL 데이터를 변환할 수 있는 ODBC C 데이터 형식을 보여줍니다. 테이블의 열 및 용어에 대한 설명은 SQL에서 C 데이터 형식으로 데이터 변환을 참조 하세요.

C 형식 식별자 테스트 TargetValuePtr StrLen_or_IndPtr SQLSTATE
SQL_C_INTERVAL_MONTH[a]

SQL_C_INTERVAL_YEAR[a]

SQL_C_INTERVAL_YEAR_TO_MONTH[a]
후행 필드 부분이 잘리지 않음

잘린 후행 필드 부분

대상의 선행 정밀도는 원본의 데이터를 보유할 만큼 크지 않습니다.
데이터

잘린 데이터

Undefined
데이터 길이(바이트)

데이터 길이(바이트)

Undefined
해당 없음

01S07

22015
SQL_C_STINYINT[b]

SQL_C_UTINYINT[b]

SQL_C_USHORT[b]

SQL_C_SHORT[b]

SQL_C_SLONG[b]

SQL_C_ULONG[b]

SQL_C_NUMERIC[b]

SQL_C_BIGINT[b]
간격 정밀도는 단일 필드였고 데이터는 잘림 없이 변환되었습니다.

간격 정밀도는 단일 필드이고 전체 잘림

간격 정밀도가 단일 필드가 아니었습니다.
데이터

잘린 데이터

Undefined
C 데이터 형식의 크기

데이터 길이(바이트)

C 데이터 형식의 크기
해당 없음

22003

22015
SQL_C_BINARY 데이터의 <바이트 길이 = BufferLength

Data >BufferLength의 바이트 길이
데이터

Undefined
데이터 길이(바이트)

Undefined
해당 없음

22003
SQL_C_CHAR 문자 바이트 길이 <BufferLength

전체(소수 자릿수가 아님) 숫자 BufferLength의 <

소수 자릿수가 아닌 전체 숫자 >= BufferLength
데이터

잘린 데이터

Undefined
C 데이터 형식의 크기

C 데이터 형식의 크기

Undefined
해당 없음

01004

22003
SQL_C_WCHAR 문자 길이 <BufferLength

전체(소수 자릿수가 아님) 숫자 BufferLength의 <

소수 자릿수가 아닌 전체 숫자 >= BufferLength
데이터

잘린 데이터

Undefined
C 데이터 형식의 크기

C 데이터 형식의 크기

Undefined
해당 없음

01004

22003

[a] 연도-월 간격 SQL 형식을 모든 연도-월 간격 C 형식으로 변환할 수 있습니다.

[b] 간격 전체 자릿수가 단일 필드(YEAR 또는 MONTH 중 하나)인 경우 간격 SQL 형식을 정확한 숫자(SQL_C_STINYINT, SQL_C_UTINYINT, SQL_C_USHORT, SQL_C_SHORT, SQL_C_SLONG, SQL_C_ULONG 또는 SQL_C_NUMERIC)로 변환할 수 있습니다.

기본 변환

간격 SQL 형식의 기본 변환은 해당 C 간격 데이터 형식으로 변환됩니다. 그런 다음 애플리케이션은 열 또는 매개 변수(또는 ARD의 적절한 레코드에서 SQL_DESC_DATA_PTR 필드를 설정)를 바인딩하여 초기화된 SQL_INTERVAL_STRUCT 구조를 가리키거나 SQLGetData 호출에서 SQL_ INTERVAL_STRUCT 구조체에 대한 포인터를 TargetValuePtr 인수로 전달합니다.