Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die folgenden Beispiele veranschaulichen, wie der Treiber C-Daten in SQL-Daten konvertiert:
| C-Typbezeichner | C-Datenwert | SQL-Typ Bezeichner |
Column length |
SQL data value |
SQLSTATE |
|---|---|---|---|---|---|
| SQL_C_CHAR | abcdef\0[a] | SQL_CHAR | 6 | abcdef | – |
| SQL_C_CHAR | abcdef\0[a] | SQL_CHAR | 5 | Abcde | 22001 |
| SQL_C_CHAR | 1234.56\0[a] | SQL_DECIMAL | 8[b] | 1234.56 | – |
| SQL_C_CHAR | 1234.56\0[a] | SQL_DECIMAL | 7[b] | 1234.5 | 22001 |
| SQL_C_CHAR | 1234.56\0[a] | SQL_DECIMAL | 4 | ---- | 22003 |
| SQL_C_FLOAT | 1234.56 | SQL_FLOAT | – | 1234.56 | – |
| SQL_C_FLOAT | 1234.56 | SQL_INTEGER | – | 1234 | 22001 |
| SQL_C_FLOAT | 1234.56 | SQL_TINYINT | – | ---- | 22003 |
| SQL_C_TYPE_DATE | 1992,12,31[c] | SQL_CHAR | 10 | 1992-12-31 | – |
| SQL_C_TYPE_DATE | 1992,12,31[c] | SQL_CHAR | 9 | ---- | 22003 |
| SQL_C_TYPE_DATE | 1992,12,31[c] | SQL_TIMESTAMP | – | 1992-12-31 00:00:00.0 | – |
| SQL_C_TYPE_TIMESTAMP | 1992,12,31, 23,45,55, 1200000000[d] | SQL_CHAR | 22 | 1992-12-31 23:45:55.12 | – |
| SQL_C_TYPE_TIMESTAMP | 1992,12,31, 23,45,55, 1200000000[d] | SQL_CHAR | 21 | 1992-12-31 23:45:55.1 | 22001 |
| SQL_C_TYPE_TIMESTAMP | 1992,12,31, 23,45,55, 1200000000[d] | SQL_CHAR | 18 | ---- | 22003 |
[a] "\0" stellt ein NULL-Terminierungsbyte dar. Das NULL-Terminierungsbyte ist nur erforderlich, wenn die Länge der Daten SQL_NTS ist.
[b] Zusätzlich zu Bytes für Zahlen ist ein Byte für ein Zeichen und ein weiteres Byte für das Dezimalzeichen erforderlich.
[c] Die Zahlen in dieser Liste sind die Zahlen, die in den Feldern der SQL_DATE_STRUCT-Struktur gespeichert sind.
[d] Die Zahlen in dieser Liste sind die Zahlen, die in den Feldern der SQL_TIMESTAMP_STRUCT-Struktur gespeichert sind.