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 인수로 지정됩니다.