열 크기

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

SQL 형식 식별자 열 크기
모든 문자 형식[a],[b] 열 또는 매개 변수의 문자로 정의된 열 크기 또는 최대 열 크기입니다(SQL_DESC_LENGTH 설명자 필드에 포함됨). 예를 들어 CHAR(10)로 정의된 단일 바이트 문자 열의 열 크기는 10입니다.
SQL_DECIMAL SQL_NUMERIC 정의된 숫자 수입니다. 예를 들어 NUMERIC(10,3)로 정의된 열의 전체 자릿수는 10입니다.
SQL_BIT[c] 6
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...] 형식의 문자 수, 여기서 초 정밀도).
SQL_TYPE_TIMESTAMP 16(yyyy-mm-dd hh:mm 형식의 문자 수)

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

or

20 + s (yyyy-mm-dd hh:mm:ss[.fff...] 형식의 문자 수, 여기서 정밀도입니다).
SQL_INTERVAL_SECOND 여기서 p는 전체 자릿수를 선도하는 간격이고 s는 초 정밀도, p(s=0인 경우) 또는 p+s+1(0인 경우)입니다>.[ d]
SQL_INTERVAL_DAY_TO_SECOND 여기서 p는 전체 자릿수를 선도하는 간격이고 s는 초 정밀도, 9+p(s=0인 경우) 또는 10+p+s(0인 경우)입니다>.[ d]
SQL_INTERVAL_HOUR_TO_SECOND 여기서 p는 전체 자릿수를 선도하는 간격이고 s는 초 정밀도, 6+p(s=0인 경우) 또는 7+p+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-eeeeeeeeeeee 형식의 문자 수)

[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] 간격 데이터 형식의 열 길이에 대한 일반적인 규칙은 이 부록의 앞부분에 있는 간격 데이터 형식 길이를 참조하세요.

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

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

열 또는 매개 변수 크기
모든 문자 및 이진 형식 LENGTH
모든 숫자 형식 PRECISION
모든 날짜/시간 및 간격 유형 LENGTH
SQL_BIT LENGTH