Identificadores e descritores de tipo de dados
Os tipos de dados listados nas seções Tipos de Dados SQL e Tipos de Dados C anteriores neste apêndice são tipos de dados "concisos": cada identificador se refere a um único tipo de dados. Há uma correspondência um-para-um entre o identificador e o tipo de dados. No entanto, os descritores não usam, em todos os casos, um único valor para identificar tipos de dados. Em alguns casos, eles usam um tipo de dados "detalhado" e um subcódigo de tipo. Para todos os tipos de dados, exceto tipos de dados datetime e interval, o identificador de tipo detalhado é o mesmo que o identificador de tipo conciso e o valor em SQL_DESC_DATETIME_INTERVAL_CODE é igual a 0. No entanto, para tipos de dados datetime e interval, um tipo detalhado (SQL_DATETIME ou SQL_INTERVAL) é armazenado em SQL_DESC_TYPE, um tipo conciso é armazenado em SQL_DESC_CONCISE_TYPE e um subcódigo para cada tipo conciso é armazenado em SQL_DESC_DATETIME_INTERVAL_CODE. Definir um desses campos afeta os outros. Para obter mais informações sobre esses campos, consulte a descrição da função SQLSetDescField .
Quando o campo SQL_DESC_TYPE ou SQL_DESC_CONCISE_TYPE é definido para alguns tipos de dados, os campos SQL_DESC_DATETIME_INTERVAL_PRECISION, SQL_DESC_LENGTH, SQL_DESC_PRECISION e SQL_DESC_SCALE são definidos automaticamente como valores padrão, conforme aplicável ao tipo de dados. Para obter mais informações, consulte a descrição do campo SQL_DESC_TYPE em SQLSetDescField. Se qualquer um dos valores padrão definidos não for apropriado, o aplicativo deverá definir explicitamente o campo descritor por meio de uma chamada para SQLSetDescField.
A tabela a seguir mostra o identificador de tipo conciso, o identificador de tipo detalhado e o subcódigo de tipo para cada datetime e o identificador de tipo SQL e C de intervalo. Como essa tabela indica, para tipos de dados datetime e interval, os campos SQL_DESC_TYPE e SQL_DESC_DATETIME_INTERVAL_CODE têm as mesmas constantes de manifesto para tipos de dados SQL (em descritores de implementação) e para tipos de dados C (em descritores de aplicativo).
Tipo de SQL conciso | Tipo C conciso | Tipo detalhado | 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 |
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários