Compartir vía


C a SQL: Intervalos de mes y año

Los identificadores para los tipos de datos ODBC C de intervalo de año son:

SQL_C_INTERVAL_MONTH SQL_C_INTERVAL_YEAR SQL_C_INTERVAL_YEAR_TO_MONTH

En la tabla siguiente se muestran los tipos de datos SQL de ODBC a los que se pueden convertir los datos de intervalo de año y mes de C. Para obtener una explicación de las columnas y los términos de la tabla, vea Convertir datos de C a tipos de datos SQL.

Identificador de tipo de SQL Prueba SQLSTATE
SQL_CHAR[a]

SQL_VARCHAR[a]

SQL_LONGVARCHAR[a]
Longitud de >bytes de columna = Longitud de bytes de caracteres

Longitud de bytes < de columna Longitud de bytes de caracteres[a]

El valor de datos no es un literal de intervalo válido
N/D

22001

22015
SQL_WCHAR[a]

SQL_WVARCHAR[a]

SQL_WLONGVARCHAR[a]
Longitud de caracteres de columna >= Longitud de caracteres de datos

Longitud de caracteres de columna Longitud de caracteres < de datos[a]

El valor de datos no es un literal de intervalo válido
N/D

22001

22015
SQL_TINYINT[b]

SQL_SMALLINT[b]

SQL_INTEGER[b]

SQL_BIGINT[b]

SQL_NUMERIC[b]

SQL_DECIMAL[b]
La conversión de un intervalo de un solo campo no dio lugar a un truncamiento de dígitos enteros

La conversión dio lugar a un truncamiento de dígitos enteros
N/D

22003
SQL_INTERVAL_MONTH

SQL_INTERVAL_YEAR

SQL_INTERVAL_YEAR_TO_MONTH
El valor de datos se convirtió sin truncamiento de ningún campo

Se truncaron uno o más campos del valor de datos durante la conversión
N/D

22015

[a] Todos los tipos de datos de intervalo de C se pueden convertir en un tipo de datos de caracteres.

[b] Si el campo de tipo de la estructura de intervalo es tal que el intervalo es un solo campo (SQL_YEAR o SQL_MONTH), el tipo de intervalo C se puede convertir en cualquier numérico exacto (SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_DECIMAL o SQL_NUMERIC).

La conversión predeterminada de un tipo de intervalo C es al tipo SQL de intervalo de año y mes correspondiente.

El controlador omite el valor de longitud/indicador al convertir datos del tipo de datos interval C y supone que el tamaño del búfer de datos es el tamaño del tipo de datos de intervalo C. El valor de longitud/indicador se pasa en el argumento StrLen_or_Ind en SQLPutData y en el búfer especificado con el argumento StrLen_or_IndPtr en SQLBindParameter. El búfer de datos se especifica con el argumento DataPtr en SQLPutData y el argumento ParameterValuePtr en SQLBindParameter.