다음을 통해 공유


데이터 형식 변환

데이터는 한 애플리케이션 변수에서 다른 애플리케이션 변수(C에서 C로)로 전송되는 경우, 애플리케이션 변수의 데이터가 문 매개 변수(C에서 SQL로)로 전송될 때, 결과 집합 열의 데이터가 애플리케이션 변수(SQL에서 C로)로 반환될 때 네 번 중 하나에서 다른 형식으로 변환할 수 있습니다. 데이터를 한 데이터 원본 열에서 다른 데이터 원본 열로 전송하는 경우(SQL에서 SQL로)

한 애플리케이션 변수에서 다른 애플리케이션 변수로 데이터를 전송할 때 발생하는 모든 변환은 이 문서의 범위를 벗어납니다.

애플리케이션이 결과 집합 열 또는 문 매개 변수에 변수를 바인딩하는 경우 애플리케이션은 애플리케이션 변수의 데이터 형식을 선택할 때 데이터 형식 변환을 암시적으로 지정합니다. 예를 들어 열에 정수 데이터가 포함되어 있다고 가정합니다. 애플리케이션이 정수 변수를 열에 바인딩하는 경우 변환을 수행하지 않음을 지정합니다. 애플리케이션이 문자 변수를 열에 바인딩하면 데이터가 정수에서 문자로 변환되도록 지정합니다.

ODBC는 각 SQL 및 C 데이터 형식 간에 데이터를 변환하는 방법을 정의합니다. 기본적으로 ODBC는 문자에서 정수로, 정수에서 부동 소수점까지의 모든 적절한 변환을 지원하며, 부동 소수점수와 같은 잘못된 정의 변환을 지원하지 않습니다. 드라이버는 지원하는 각 SQL 데이터 형식에 대한 모든 변환을 지원해야 합니다. SQL 및 C 데이터 형식 간의 변환의 전체 목록은 SQL에서 C 데이터 형식으로 데이터 변환 및 부록 D: 데이터 형식의 C에서 SQL 데이터 형식으로 데이터 변환을 참조하세요.

또한 ODBC는 한 SQL 데이터 형식에서 다른 SQL 데이터 형식으로 데이터를 변환하기 위한 스칼라 함수를 정의합니다. CONVERT 스칼라 함수는 드라이버가 데이터 원본에서 변환을 수행하기 위해 정의된 기본 스칼라 함수 또는 함수에 매핑됩니다. 이 함수는 DBMS 관련 함수에 매핑되므로 ODBC는 이러한 변환의 작동 방식 또는 지원되어야 하는 변환을 정의하지 않습니다. 애플리케이션은 SQLGetInfo의 SQL_CONVERT 옵션을 통해 특정 드라이버 및 데이터 원본에서 지원하는 변환을 검색합니다. CONVERT 스칼라 함수에 대한 자세한 내용은 ODBC명시적 데이터 형식 변환 함수의 이스케이프 시퀀스를 참조하세요.