Spaltengröße
Die Spaltengröße (oder der Parameter) von numerischen Datentypen wird als maximale Anzahl von Ziffern definiert, die vom Datentyp der Spalte oder des Parameters verwendet werden, oder die Genauigkeit der Daten. Bei Zeichentypen ist dies die Länge in den Zeichen der Daten. bei binären Datentypen wird die Spaltengröße als Länge der Daten in Bytes definiert. Für die Datentypen time, timestamp und alle Intervalldaten ist dies die Anzahl der Zeichen in der Zeichendarstellung dieser Daten. Die für jeden präzisen SQL-Datentyp definierte Spaltengröße wird in der folgenden Tabelle angezeigt.
SQL-Typbezeichner | Spaltengröße |
---|---|
Alle Zeichentypen[a],[b] | Die definierte oder maximale Spaltengröße in Zeichen der Spalte oder des Parameters (wie im SQL_DESC_LENGTH Deskriptorfeld enthalten). Beispielsweise beträgt die Spaltengröße einer Spalte mit einem Einzelbytezeichen, die als CHAR(10) definiert ist, 10. |
SQL_DECIMAL SQL_NUMERIC | Die definierte Anzahl von Ziffern. Beispielsweise beträgt die Genauigkeit einer Spalte, die als NUMERIC(10,3) definiert ist, 10. |
SQL_BIT[c] | 1 |
SQL_TINYINT[c] | 3 |
SQL_SMALLINT[c] | 5 |
SQL_INTEGER[c] | 10 |
SQL_BIGINT[c] | 19 (wenn signiert) oder 20 (wenn nicht signiert) |
SQL_REAL[c] | 7 |
SQL_FLOAT[c] | 15 |
SQL_DOUBLE[c] | 15 |
Alle Binärtypen[a],[b] | Die definierte oder maximale Länge der Spalte oder des Parameters in Byte. Beispielsweise ist die Länge einer Spalte, die als BINARY(10) definiert ist, 10. |
SQL_TYPE_DATE[c] | 10 (die Anzahl der Zeichen im Format jjjj-mm-tt ). |
SQL_TYPE_TIME[c] | 8 (die Anzahl der Zeichen im Format hh-mm-ss ) oder 9 + s (die Anzahl der Zeichen im Format hh:mm:ss[.fff...], wobei s die Sekundengenauigkeit ist). |
SQL_TYPE_TIMESTAMP | 16 (die Anzahl der Zeichen im Format jjjj-mm-tt hh:mm ) 19 (die Anzahl der Zeichen im Format jjjj-mm-tthh:mm:ss ) oder 20 + s (die Anzahl der Zeichen im Format jjjj-mm-tt hh:mm:ss[.fff...], wobei s die Sekundengenauigkeit ist). |
SQL_INTERVAL_SECOND | Dabei steht p für die Intervallführungsgenauigkeit und s für die Sekundengenauigkeit , p (wenn s=0) oder p+s+1 (wenn s>0).[ d] |
SQL_INTERVAL_DAY_TO_SECOND | Dabei steht p für dieIntervallführungsgenauigkeit und s für die Sekundengenauigkeit, 9+p (wenn s=0) oder 10+p+ s (wenn s>0).[ d] |
SQL_INTERVAL_HOUR_TO_SECOND | Dabei steht p für die intervallführende Genauigkeit und s für die Sekundengenauigkeit, 6+p (wenn s=0) oder 7+p+s (wenn s>0).[ d] |
SQL_INTERVAL_MINUTE_TO_SECOND | Dabei steht p für die intervallführende Genauigkeit und s für die Sekundengenauigkeit, 3+p (wenn s=0) oder 4+p+s (wenn s>0).[ d] |
SQL_INTERVAL_YEAR SQL_INTERVAL_MONTH SQL_INTERVAL_DAY SQL_INTERVAL_HOUR SQL_INTERVAL_MINUTE | p, wobei p die intervallführende Genauigkeit ist. [d] |
SQL_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_DAY_TO_HOUR | 3+p, wobei p die intervallführende Genauigkeit ist. [d] |
SQL_INTERVAL_DAY_TO_MINUTE | 6+p, wobei p die intervallführende Genauigkeit ist. [d] |
SQL_INTERVAL_HOUR_TO_MINUTE | 3+p, wobei p die intervallführende Genauigkeit ist. [d] |
SQL_GUID | 36 (die Anzahl der Zeichen im Format aaaaaaaa-bbbb-cccc-dddd-eeeeeeee- |
[a] Für eine ODBC 1.0-Anwendung, die SQLSetParam in einem ODBC 2.0-Treiber aufruft, und für eine ODBC 2.0-Anwendung, die SQLBindParameter in einem ODBC 1.0-Treiber aufruft, muss ColumnSize auf die Gesamtlänge der zu sendenden Daten festgelegt werden, wenn *StrLen_or_IndPtr für einen SQL_LONGVARCHAR- oder SQL_LONGVARBINARY-Typ SQL_DATA_AT_EXEC ist. nicht die in dieser Tabelle definierte Genauigkeit.
[b] Wenn der Treiber die Spalten- oder Parameterlänge für einen Variablentyp nicht bestimmen kann, gibt er SQL_NO_TOTAL zurück.
[c] Das ColumnSize-Argument von SQLBindParameter wird für diesen Datentyp ignoriert.
[d] Allgemeine Regeln zur Spaltenlänge in Intervalldatentypen finden Sie weiter oben in diesem Anhang unter Intervalldatentyplänge.
Die für die Spaltengröße (oder den Parameter) zurückgegebenen Werte entsprechen nicht den Werten in einem Deskriptorfeld. Die Werte können je nach Datentyp entweder aus dem feld SQL_DESC_PRECISION oder SQL_DESC_LENGTH stammen, wie in der folgenden Tabelle gezeigt.
SQL-Typ | Deskriptorfeld entspricht Spalten- oder Parametergröße |
---|---|
Alle Zeichen- und Binärtypen | LENGTH |
Alle numerischen Typen | PRECISION |
Alle datetime- und interval-Typen | LENGTH |
SQL_BIT | LENGTH |
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