Identificadores y descriptores de tipo de datos
Los tipos de datos enumerados en las secciones Tipos de datos SQL y Tipos de datos de C anteriores en este apéndice son tipos de datos "concisos": cada identificador hace referencia a un único tipo de datos. Hay una correspondencia uno a uno entre el identificador y el tipo de datos. Sin embargo, los descriptores no usan en todos los casos un único valor para identificar los tipos de datos. En algunos casos, usan un tipo de datos "detallado" y un subcódigo de tipo. Para todos los tipos de datos excepto los tipos de datos datetime e interval, el identificador de tipo detallado es el mismo que el identificador de tipo conciso y el valor de SQL_DESC_DATETIME_INTERVAL_CODE es igual a 0. Sin embargo, para los tipos de datos datetime e interval, se almacena un tipo detallado (SQL_DATETIME o SQL_INTERVAL) en SQL_DESC_TYPE, se almacena un tipo conciso en SQL_DESC_CONCISE_TYPE y se almacena un subcódigo para cada tipo conciso en SQL_DESC_DATETIME_INTERVAL_CODE. Establecer uno de estos campos afecta a los demás. Para obtener más información sobre estos campos, vea la descripción de la función SQLSetDescField .
Cuando se establece el campo SQL_DESC_TYPE o SQL_DESC_CONCISE_TYPE para algunos tipos de datos, los campos SQL_DESC_DATETIME_INTERVAL_PRECISION, SQL_DESC_LENGTH, SQL_DESC_PRECISION y SQL_DESC_SCALE se establecen automáticamente en valores predeterminados, según corresponda para el tipo de datos. Para obtener más información, vea la descripción del campo SQL_DESC_TYPE en SQLSetDescField. Si alguno de los valores predeterminados establecidos no es adecuado, la aplicación debe establecer explícitamente el campo descriptor a través de una llamada a SQLSetDescField.
En la tabla siguiente se muestra el identificador de tipo conciso, el identificador de tipo detallado y el subcódigo de tipo para cada identificador de tipo datetime e interval SQL y C. Como indica esta tabla, para los tipos de datos datetime e interval, los campos SQL_DESC_TYPE y SQL_DESC_DATETIME_INTERVAL_CODE tienen las mismas constantes de manifiesto para los tipos de datos SQL (en descriptores de implementación) y para los tipos de datos C (en descriptores de aplicación).
Tipo SQL conciso | Tipo C conciso | Tipo detallado | DATETIME_INTERVAL_CODE |
---|---|---|---|
SQL_TYPE_DATE | SQL_C_TYPE_DATE | SQL_DATETIME | SQL_CODE_DATE |
SQL_TYPE_TIME | SQL_C_TYPE_TIME | SQL_DATETIME | SQL_CODE_TIME |
SQL_TYPE_TIMESTAMP | SQL_C_TYPE_TIMESTAMP | SQL_DATETIME | SQL_CODE_TIMESTAMP |
SQL_INTERVAL_MONTH | SQL_C_INTERVAL_MONTH | SQL_INTERVAL | SQL_CODE_MONTH |
SQL_INTERVAL_YEAR | SQL_C_INTERVAL_YEAR | SQL_INTERVAL | SQL_CODE_YEAR |
SQL_INTERVAL_YEAR_TO_MONTH | SQL_C_INTERVAL_YEAR_TO_MONTH | SQL_INTERVAL | SQL_CODE_YEAR_TO_MONTH |
SQL_INTERVAL_DAY | SQL_C_INTERVAL_DAY | SQL_INTERVAL | SQL_CODE_DAY |
SQL_INTERVAL_HOUR | SQL_C_INTERVAL_HOUR | SQL_INTERVAL | SQL_CODE_HOUR |
SQL_INTERVAL_MINUTE | SQL_C_INTERVAL_MINUTE | SQL_INTERVAL | SQL_CODE_MINUTE |
SQL_INTERVAL_SECOND | SQL_C_INTERVAL_SECOND | SQL_INTERVAL | SQL_CODE_SECOND |
SQL_INTERVAL_DAY_TO_HOUR | SQL_C_INTERVAL_DAY_TO_HOUR | SQL_INTERVAL | SQL_CODE_DAY_TO_HOUR |
SQL_INTERVAL_DAY_TO_MINUTE | SQL_C_INTERVAL_DAY_TO_MINUTE | SQL_INTERVAL | SQL_CODE_DAY_TO_MINUTE |
SQL_INTERVAL_DAY_TO_SECOND | SQL_C_INTERVAL_DAY_TO_SECOND | SQL_INTERVAL | SQL_CODE_DAY_TO_SECOND |
SQL_INTERVAL_HOUR_TO_MINUTE | SQL_C_INTERVAL_HOUR_TO_MINUTE | SQL_INTERVAL | SQL_CODE_HOUR_TO_MINUTE |
SQL_INTERVAL_HOUR_TO_SECOND | SQL_C_INTERVAL_HOUR_TO_SECOND | SQL_INTERVAL | SQL_CODE_HOUR_TO_SECOND |
SQL_INTERVAL_MINUTE_TO_SECOND | SQL_C_INTERVAL_MINUTE_TO_SECOND | SQL_INTERVAL | SQL_CODE_MINUTE_TO_SECOND |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de