Идентификаторы и дескрипторы типа данных
Типы данных, перечисленные в разделах "Типы данных SQL" и "Типы данных C" выше в этом приложении, являются краткими. Каждый идентификатор ссылается на один тип данных. Между идентификатором и типом данных существует одно-одно соответствие. Однако дескрипторы не во всех случаях используют одно значение для идентификации типов данных. В некоторых случаях они используют подробный тип данных и подкод типа. Для всех типов данных, кроме типов данных datetime и интервала, подробный идентификатор типа совпадает с кратким идентификатором типа, а значение в SQL_DESC_DATETIME_INTERVAL_CODE равно 0. Однако для типов данных datetime и интервала подробный тип (SQL_DATETIME или SQL_INTERVAL) хранится в SQL_DESC_TYPE, краткий тип хранится в SQL_DESC_CONCISE_TYPE, а подкод для каждого краткого типа хранится в SQL_DESC_DATETIME_INTERVAL_CODE. Установка одного из этих полей влияет на другие. Дополнительные сведения об этих полях см. в описании функции SQLSetDescField .
Если для некоторых типов данных задано поле SQL_DESC_TYPE или SQL_DESC_CONCISE_TYPE, поля SQL_DESC_DATETIME_INTERVAL_PRECISION, SQL_DESC_LENGTH, SQL_DESC_PRECISION и SQL_DESC_SCALE автоматически задаются значения по умолчанию, применимые к типу данных. Дополнительные сведения см. в описании поля SQL_DESC_TYPE в SQLSetDescField. Если какой-либо из наборов значений по умолчанию не подходит, приложение должно явно задать поле дескриптора с помощью вызова SQLSetDescField.
В следующей таблице показан краткий идентификатор типа, подробный идентификатор типа и подкод типа типа для каждого идентификатора даты и интервала SQL и C. Как указано в этой таблице, для типов данных datetime и интервала поля SQL_DESC_TYPE и SQL_DESC_DATETIME_INTERVAL_CODE имеют одинаковые константы манифеста как для типов данных SQL (в дескрипторах реализации), так и для типов данных C (в дескрипторах приложений).
Краткий тип SQL | Краткий тип C | Подробный тип | 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 |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по