Datentypbezeichner und Deskriptoren
Die in den Abschnitten SQL-Datentypen und C-Datentypen weiter oben in diesem Anhang aufgeführten Datentypen sind "präzise" Datentypen: Jeder Bezeichner bezieht sich auf einen einzelnen Datentyp. Es besteht eine 1:1-Korrespondenz zwischen dem Bezeichner und dem Datentyp. Deskriptoren verwenden jedoch nicht in allen Fällen einen einzelnen Wert, um Datentypen zu identifizieren. In einigen Fällen verwenden sie einen "ausführlichen" Datentyp und einen Typuntercode. Für alle Datentypen außer datetime und interval ist der ausführliche Typbezeichner identisch mit dem prägnanten Typbezeichner, und der Wert in SQL_DESC_DATETIME_INTERVAL_CODE ist gleich 0. Für datetime- und interval-Datentypen wird jedoch ein ausführlicher Typ (SQL_DATETIME oder SQL_INTERVAL) in SQL_DESC_TYPE, ein prägnanter Typ in SQL_DESC_CONCISE_TYPE und ein Untercode für jeden prägnanten Typ in SQL_DESC_DATETIME_INTERVAL_CODE gespeichert. Das Festlegen eines dieser Felder wirkt sich auf die anderen Felder aus. Weitere Informationen zu diesen Feldern finden Sie in der Beschreibung der SqlSetDescField-Funktion .
Wenn das SQL_DESC_TYPE- oder SQL_DESC_CONCISE_TYPE feld für einige Datentypen festgelegt ist, werden die Felder SQL_DESC_DATETIME_INTERVAL_PRECISION, SQL_DESC_LENGTH, SQL_DESC_PRECISION und SQL_DESC_SCALE automatisch auf Standardwerte festgelegt, je nach Datentyp. Weitere Informationen finden Sie in der Beschreibung des felds SQL_DESC_TYPE in SQLSetDescField. Wenn einer der festgelegten Standardwerte nicht geeignet ist, sollte die Anwendung das Deskriptorfeld explizit über einen Aufruf von SQLSetDescField festlegen.
Die folgende Tabelle zeigt den präzisen Typbezeichner, den ausführlichen Typbezeichner und den Typuntercode für jeden Datetime- und Intervall-SQL- und C-Typbezeichner. Wie in dieser Tabelle angegeben, verfügen die Felder SQL_DESC_TYPE und SQL_DESC_DATETIME_INTERVAL_CODE für datetime- und interval-Datentypen sowohl für SQL-Datentypen (in Implementierungsdeskriptoren) als auch für C-Datentypen (in Anwendungsdeskriptoren) über die gleichen Manifestkonstanten.
Präziser SQL-Typ | Prägnanter C-Typ | Ausführlicher Typ | 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 |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für