열 크기

숫자 데이터 형식의 열(또는 매개 변수) 크기는 열 또는 매개 변수의 데이터 형식에 사용되는 최대 자릿수 또는 데이터의 전체 자릿수로 정의됩니다. 문자 형식의 경우 데이터의 문자 길이입니다. 이진 데이터 형식의 경우 열 크기는 데이터의 길이(바이트)로 정의됩니다. 시간, 타임스탬프 및 모든 간격 데이터 형식의 경우 이 데이터의 문자 표현에 있는 문자 수입니다. 각 간결한 SQL 데이터 형식에 대해 정의된 열 크기는 다음 표에 표시됩니다.

SQL 형식 식별자 열 크기
모든 문자 형식[a],[b] 열 또는 매개 변수의 문자로 정의된 또는 최대 열 크기입니다(SQL_DESC_LENGTH 설명자 필드에 포함됨). 예를 들어 CHAR(10)로 정의된 싱글 바이트 문자 열의 열 크기는 10입니다.
SQL_DECIMAL SQL_NUMERIC 정의된 자릿수입니다. 예를 들어 NUMERIC(10,3)로 정의된 열의 전체 자릿수는 10입니다.
SQL_BIT[c] 1
SQL_TINYINT[c] 3
SQL_SMALLINT[c] 5
SQL_INTEGER[c] 10
SQL_BIGINT[c] 19(서명된 경우) 또는 20(서명되지 않은 경우)
SQL_REAL[c] 7
SQL_FLOAT[c] 15
SQL_DOUBLE[c] 15
모든 이진 형식[a],[b] 열 또는 매개 변수의 정의된 길이 또는 최대 길이(바이트)입니다. 예를 들어 BINARY(10)로 정의된 열의 길이는 10입니다.
SQL_TYPE_DATE[c] 10(yyyy-mm-dd 형식의 문자 수).
SQL_TYPE_TIME[c] 8(hh-mm-ss 형식의 문자 수) 또는 9 + s(hh:mm:ss[.fff...] 형식의 문자 수, 여기서 s는 초 전체 자릿수).
SQL_TYPE_TIMESTAMP 16(yyyy-mm-dd hh:mm 형식의 문자 수)

19(yyyy-mm-dd hh:mm:ss 형식의 문자 수)

또는

20 + s(yyyy-mm-dd hh:mm:ss[.fff...] 형식의 문자 수입니다. 여기서 s는 초 전체 자릿수입니다).
SQL_INTERVAL_SECOND 여기서 p는 간격 선행 전체 자릿수이고 s는 초 전체 자릿수, p(s =0인 경우) 또는 p + s+1(s>가 0인 경우)입니다.[ d]
SQL_INTERVAL_DAY_TO_SECOND 여기서 p는 간격 선행 전체 자릿수이고 s는 초 전체 자릿수, 9+p(s =0인 경우) 또는 10+ p + s(s>0인 경우)입니다.[ d]
SQL_INTERVAL_HOUR_TO_SECOND 여기서 p는 간격 선행 전체 자릿수이고 s는 초 전체 자릿수, 6+p(s =0인 경우) 또는 7+ p + s(s>0인 경우)입니다.[ d]
SQL_INTERVAL_MINUTE_TO_SECOND 여기서 p는 간격 선행 전체 자릿수이고 s는 초 전체 자릿수, 3+p(s =0인 경우) 또는 4+ p + s(0인 경우>)입니다.[ d]
SQL_INTERVAL_YEAR SQL_INTERVAL_MONTH SQL_INTERVAL_DAY SQL_INTERVAL_HOUR SQL_INTERVAL_MINUTE p, 여기서 p는 간격 선행 전체 자릿수입니다. [d]
SQL_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_DAY_TO_HOUR 3+p, 여기서 p는 간격 선행 전체 자릿수입니다. [d]
SQL_INTERVAL_DAY_TO_MINUTE 6+p, 여기서 p는 간격 선행 전체 자릿수입니다. [d]
SQL_INTERVAL_HOUR_TO_MINUTE 3+p, 여기서 p는 간격 선행 전체 자릿수입니다. [d]
SQL_GUID 36(aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeee 형식의 문자 수)

[a] ODBC 2.0 드라이버에서 SQLSetParam을 호출하는 ODBC 1.0 애플리케이션과 ODBC 1.0 드라이버에서 SQLBindParameter를 호출하는 ODBC 2.0 애플리케이션의 경우 * StrLen_or_IndPtr SQL_LONGVARCHAR 또는 SQL_LONGVARBINARY 형식에 대해 SQL_DATA_AT_EXEC 경우 ColumnSize를 전송할 데이터의 총 길이로 설정해야 합니다. 이 표에 정의된 전체 자릿수가 아닙니다.

[b] 드라이버가 변수 형식의 열 또는 매개 변수 길이를 확인할 수 없는 경우 SQL_NO_TOTAL 반환합니다.

[c] 이 데이터 형식에 대해 SQLBindParameter의 ColumnSize 인수가 무시됩니다.

[d] interval 데이터 형식의 열 길이에 대한 일반적인 규칙은 이 부록의 앞에 있는 Interval 데이터 형식 길이를 참조하세요.

열(또는 매개 변수) 크기에 대해 반환된 값이 하나의 설명자 필드에 있는 값과 일치하지 않습니다. 값은 다음 표와 같이 데이터 형식에 따라 SQL_DESC_PRECISION 또는 SQL_DESC_LENGTH 필드에서 올 수 있습니다.

SQL 유형 에 해당하는 설명자 필드

열 또는 매개 변수 크기
모든 문자 및 이진 형식 LENGTH
모든 숫자 형식 PRECISION
모든 datetime 및 interval 형식 LENGTH
SQL_BIT LENGTH