다음을 통해 공유


C-SQL: 숫자

숫자 ODBC C 데이터 형식의 식별자는 다음과 같습니다.

SQL_C_STINYINT

SQL_C_SLONG

SQL_C_UTINYINT

SQL_C_ULONG

SQL_C_TINYINT

SQL_C_LONG

SQL_C_SSHORT

SQL_C_FLOAT

SQL_C_USHORT

SQL_C_DOUBLE

SQL_C_SHORT

SQL_C_NUMERIC

SQL_C_SBIGINT

SQL_C_UBIGINT

다음 표에서는 숫자 C 데이터를 변환할 수 있는 ODBC SQL 데이터 형식을 보여줍니다. 테이블의 열 및 용어에 대한 설명은 C에서 SQL 데이터 형식으로 데이터 변환을 참조 하세요.

SQL 형식 식별자 테스트 SQLSTATE
SQL_CHAR

SQL_VARCHAR

SQL_LONGVARCHAR
숫자 수 <= 열 바이트 길이

열 바이트 길이 자릿수 >
해당 없음

22001
SQL_WCHAR

SQL_WVARCHAR

SQL_WLONGVARCHAR
문자 <수 = 열 문자 길이

열 문자 길이 문자 > 수
해당 없음

22001
SQL_DECIMAL[b]

SQL_NUMERIC[b]

SQL_TINYINT[b]

SQL_SMALLINT[b]

SQL_INTEGER[b]

SQL_BIGINT[b]
잘림 없이 변환되거나 소수 자릿수가 잘린 데이터

전체 자릿수 잘림으로 변환된 데이터
해당 없음

22003
SQL_REAL

SQL_FLOAT

SQL_DOUBLE
데이터는 숫자가 변환되는 데이터 형식의 범위 내에 있습니다.

데이터가 숫자가 변환되는 데이터 형식의 범위를 벗어났습니다.
해당 없음

22003
SQL_BIT 데이터는 0 또는 1입니다.

데이터가 0보다 크고 2보다 작으며 1과 같지 않음

데이터가 0보다 작거나 2보다 크거나 같음
해당 없음

22001

22003
SQL_INTERVAL_YEAR[a]

SQL_INTERVAL_MONTH[a]

SQL_INTERVAL_DAY[a]

SQL_INTERVAL_HOUR[a]

SQL_INTERVAL_MINUTE[a]

SQL_INTERVAL_SECOND[a]
데이터가 잘리지 않았습니다.

데이터가 잘렸습니다.
해당 없음

22015

[a] 이러한 변환은 정확한 숫자 데이터 형식(SQL_C_STINYINT, SQL_C_UTINYINT, SQL_C_SSHORT, SQL_C_USHORT, SQL_C_SLONG, SQL_C_ULONG 또는 SQL_C_NUMERIC)에 대해서만 지원됩니다. 대략적인 숫자 데이터 형식(SQL_C_FLOAT 또는 SQL_C_DOUBLE)에는 지원되지 않습니다. 정확한 숫자 C 데이터 형식은 간격 정밀도가 단일 필드가 아닌 간격 SQL 형식으로 변환할 수 없습니다.

[b] "n/a" 경우 드라이버는 소수 잘림이 있는 경우 필요에 따라 SQL_SUCCESS_WITH_INFO 및 01S07을 반환할 수 있습니다.

드라이버는 숫자 C 데이터 형식에서 데이터를 변환할 때 길이/표시기 값을 무시하고 데이터 버퍼의 크기가 숫자 C 데이터 형식의 크기라고 가정합니다. 길이/표시기 값은 SQLPutData의 StrLen_or_Ind 인수와 SQLBindParameter의 StrLen_or_IndPtr 인수로 지정된 버퍼에 전달됩니다. 데이터 버퍼는 SQLPutData의 DataPtr 인수와 SQLBindParameter의 ParameterValuePtr 인수로 지정됩니다.