SQLDescribeCol
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
실행된 문의 경우 SQL Server Native Client ODBC 드라이버는 결과 집합의 열을 설명하기 위해 서버를 쿼리할 필요가 없습니다. 이 경우 SQLDescribeCol 은 서버 왕복을 유발하지 않습니다. SQLColAttribute 및 SQLNumResultCols와 마찬가지로 준비되었지만 실행되지 않은 문에서 SQLDescribeCol을 호출하면 서버 왕복이 생성됩니다.
Transact-SQL 문 또는 문 일괄 처리가 여러 결과 행 집합을 반환하는 경우 서수로 참조되는 열이 별도의 테이블에서 시작되거나 결과 집합에서 완전히 다른 열을 참조할 수 있습니다. 각 집합에 대해 SQLDescribeCol 을 호출해야 합니다. 결과 집합이 변경되면 애플리케이션은 행 결과를 가져오기 전에 데이터 값을 다시 바인딩해야 합니다. 여러 결과 집합 반환을 처리하는 방법에 대한 자세한 내용은 SQLMoreResults를 참조 하세요.
준비된 SQL 문의 일괄 처리에서 여러 개의 결과 집합이 생성될 경우 첫 번째 결과 집합에 대해서만 열 특성이 보고됩니다.
큰 값 데이터 형식의 경우 DataTypePtr에서 반환되는 값은 SQL_VARCHAR, SQL_VARBINARY 또는 SQL_NVARCHAR. ColumnSizePtr의 SQL_SS_LENGTH_UNLIMITED 값은 크기가 "무제한"임을 나타냅니다.
SQL Server 2012(11.x)부터 데이터베이스 엔진이 개선되어 SQLDescribeCol이 예상 결과에 대한 보다 정확한 설명을 얻을 수 있습니다. 이러한 보다 정확한 결과는 이전 버전의 SQL Server에서 SQLDescribeCol이 반환한 값과 다를 수 있습니다. 자세한 내용은 메타데이터 검색을 참조하세요.
향상된 날짜 및 시간 기능에 대한 SQLDescribeCol 지원
날짜/시간 형식에 대해 반환되는 값은 다음과 같습니다.
attribute | DataTypePtr | ColumnSizePtr | DecimalDigitsPtr |
---|---|---|---|
날짜/시간 | SQL_TYPE_TIMESTAMP | 23 | 3 |
smalldatetime | SQL_TYPE_TIMESTAMP | 16 | 0 |
date | SQL_TYPE_DATE | 10 | 0 |
time | SQL_SS_TIME2 | 8, 10..16 | 0..7 |
datetime2 | SQL_TYPE_TIMESTAMP | 19, 21..27 | 0..7 |
datetimeoffset | SQL_SS_TIMESTAMPOFFSET | 26, 28..34 | 0..7 |
자세한 내용은 날짜 및 시간 개선 사항(ODBC)을 참조하세요.
큰 CLR UDT에 대한 SQLDescribeCol 지원
SQLDescribeCol 은 큰 CLR UDT(사용자 정의 형식)를 지원합니다. 자세한 내용은 ODBC(큰 CLR 사용자 정의 형식)를 참조하세요.