다음을 통해 공유


날짜/시간 데이터 형식 변경

ODBC 3.x에서는 날짜, 시간 및 타임스탬프 SQL 데이터 형식의 식별자가 SQL_DATE, SQL_TIME 및 SQL_TIMESTAMP(헤더 파일 9, 10 및 11의 #define 인스턴스 포함)에서 SQL_TYPE_DATE, SQL_TYPE_TIME 및 SQL_TYPE_TIMESTAMP(헤더 파일 91의 #define 인스턴스 포함)로 변경되었습니다. 각각 92, 93) 해당 C 형식 식별자가 각각 SQL_C_DATE, SQL_C_TIME 및 SQL_C_TIMESTAMP SQL_C_TYPE_DATE, SQL_C_TYPE_TIME 및 SQL_C_TYPE_TIMESTAMP 변경되었습니다.

ODBC 3.x의 SQL datetime 데이터 형식에 대해 반환되는 열 크기와 소수 자릿수는 ODBC 2.x에서 반환된 전체 자릿수 및 소수 자릿수와 동일합니다. 이러한 값은 SQL_DESC_PRECISION 및 SQL_DESC_SCALE 설명자 필드의 값과 다릅니다. (자세한 내용은 를 참조하세요 .열 크기, 10진수, 8진수 길이 전송 및 표시 크기입니다.)

이러한 변경 내용은 SQLDescribeCol, SQLDescribeParamSQLColAttribute에 영향을 미칩니다.SQLBindCol, SQLBindParameterSQLGetData; 및 SQLColumns, SQLGetTypeInfo, SQLProcedureColumns, SQLStatisticsSQLSpecialColumns.

다음 표에서는 ODBC 3.x 드라이버 관리자가 SQLBindCol 및 SQLGetData의 TargetType 인수 또는 SQLBindParameter의 ValueType 인수에 입력된 날짜, 시간 및 타임스탬프 C 데이터 형식의 매핑을 수행하는 방법을 보여 줍니다.

데이터 형식

입력한 코드
2.x 앱에서

2.x 드라이버
2.x 앱에서

3.x 드라이버
3.x 앱에서

2.x 드라이버
3.x 앱에서

3.x 드라이버
SQL_C_DATE (9) 매핑 없음 SQL_C_TYPE_DATE (91) 매핑 없음[1] SQL_C_TYPE_DATE (91)
SQL_C_TYPE_DATE (91) 오류(DM에서) 오류(DM에서) SQL_C_DATE (9) 매핑 없음[2]
SQL_C_TIME (10) 매핑 없음 SQL_C_TYPE_TIME (92) 매핑 없음[1] SQL_C_TYPE_TIME (92)
SQL_C_TYPE_TIME (92) 오류(DM에서) 오류(DM에서) SQL_C_TIME (10) 매핑 없음[2]
SQL_C_TIMESTAMP (11) 매핑 없음 SQL_C_TYPE_TIMESTAMP (93) 매핑 없음[1] SQL_C_TYPE_TIMESTAMP (93)
SQL_C_TYPE_TIMESTAMP (93) 오류(DM에서) 오류(DM에서) SQL_C_TIMESTAMP (11) 매핑 없음[2]

[1] 이로 인해 ODBC 2.x 드라이버로 작업하는 ODBC 3.x 애플리케이션은 카탈로그 함수에서 반환되는 결과 집합에 반환된 날짜, 시간 또는 타임스탬프 코드를 사용할 수 있습니다.

[2] 이로 인해 ODBC 3.x 드라이버로 작업하는 ODBC 3.x 애플리케이션은 카탈로그 함수에서 반환되는 결과 집합에 반환된 날짜, 시간 또는 타임스탬프 코드를 사용할 수 있습니다.

다음 표에서는 ODBC 3.x 드라이버 관리자가 SQLBindParameter의 ParameterType 인수 또는 SQLGetTypeInfo의 DataType 인수에 입력된 날짜, 시간 및 타임스탬프 SQL 데이터 형식의 매핑을 수행하는 방법을 보여 줍니다.

데이터 형식

입력한 코드
2.x 앱에서

2.x 드라이버
2.x 앱에서

3.x 드라이버
3.x 앱에서

2.x 드라이버
3.x 앱에서

3.x 드라이버
SQL_DATE (9) 매핑 없음 SQL_TYPE_DATE(91) 매핑 없음[1] SQL_TYPE_DATE(91)
SQL_TYPE_DATE(91) 오류(DM에서) 오류(DM에서) SQL_DATE (9) 매핑 없음[2]
SQL_TIME (10) 매핑 없음 SQL_TYPE_TIME (92) 매핑 없음[1] SQL_TYPE_TIME (92)
SQL_TYPE_TIME (92) 오류(DM에서) 오류(DM에서) SQL_TIME (10) 매핑 없음[2]
SQL_TIMESTAMP (11) 매핑 없음 SQL_TYPE_TIMESTAMP (93) 매핑 없음[1] SQL_TYPE_TIMESTAMP (93)
SQL_TYPE_TIMESTAMP (93) 오류(DM에서) 오류(DM에서) SQL_TIMESTAMP (11) 매핑 없음[2]

[1] 이로 인해 ODBC 2.x 드라이버로 작업하는 ODBC 3.x 애플리케이션은 카탈로그 함수에서 반환되는 결과 집합에 반환된 날짜, 시간 또는 타임스탬프 코드를 사용할 수 있습니다.

[2] 이로 인해 ODBC 3.x 드라이버로 작업하는 ODBC 3.x 애플리케이션은 카탈로그 함수에서 반환되는 결과 집합에 반환된 날짜, 시간 또는 타임스탬프 코드를 사용할 수 있습니다.