날짜/시간 데이터 형식 변경
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, SQLDescribeParam 및 SQLColAttribute에 영향을 미칩니다.SQLBindCol, SQLBindParameter 및 SQLGetData; 및 SQLColumns, SQLGetTypeInfo, SQLProcedureColumns, SQLStatistics 및 SQLSpecialColumns.
다음 표에서는 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 애플리케이션은 카탈로그 함수에서 반환되는 결과 집합에 반환된 날짜, 시간 또는 타임스탬프 코드를 사용할 수 있습니다.