SQL zu C: Zeitstempel
Der Bezeichner für den SQL-Datentyp "Timestamp ODBC" lautet wie folgt:
- SQL_TYPE_TIMESTAMP
In der folgenden Tabelle sind die ODBC-C-Datentypen aufgeführt, in die SQL-Zeitstempeldaten konvertiert werden können. Eine Erläuterung der Spalten und Begriffe in der Tabelle finden Sie unter Konvertieren von Daten aus SQL in C-Datentypen.
C-Typbezeichner | Testen | *TargetValuePtr | *StrLen_or_IndPtr | SQLSTATE |
---|---|---|---|---|
SQL_C_CHAR | PufferLength-Zeichenbytelänge> 20 <= BufferLength<= Länge des Zeichenbytes BufferLength< 20 |
Daten Abgeschnittene Daten[b] Nicht definiert |
Länge der Daten in Byte Länge der Daten in Byte Nicht definiert |
Nicht zutreffend 01004 22003 |
SQL_C_WCHAR | PufferLength-Zeichenlänge> 20 <= BufferLength<= Zeichenlänge BufferLength< 20 |
Daten Abgeschnittene Daten[b] Nicht definiert |
Länge der Daten in Zeichen Länge der Daten in Zeichen Nicht definiert |
Nicht zutreffend 01004 22003 |
SQL_C_BINARY | Bytelänge der Daten <= BufferLength Bytelänge von Data >BufferLength |
Daten Nicht definiert |
Länge der Daten in Byte Nicht definiert |
Nicht zutreffend 22003 |
SQL_C_TYPE_DATE | Der Zeitteil des Zeitstempels ist null[a] Der Zeitteil des Zeitstempels ist "nonzero[a] |
Daten Abgeschnittene Daten[c] |
6[f] 6[f] |
Nicht zutreffend 01S07 |
SQL_C_TYPE_TIME | Anteilige Sekunden des Zeitstempels ist null[a] Anteilige Sekunden des Zeitstempels ist ungleich Null[a] |
Data[d] Abgeschnittene Daten[d], [e] |
6[f] 6[f] |
Nicht zutreffend 01S07 |
SQL_C_TYPE_TIMESTAMP | Anteilige Sekunden des Zeitstempels werden nicht abgeschnitten[a] Anteilige Sekunden des Zeitstempels werden abgeschnitten[a] |
Daten[e] Abgeschnittene Daten[e] |
16[f] 16[f] |
Nicht zutreffend 01S07 |
[a] Der Wert von BufferLength wird für diese Konvertierung ignoriert. Der Treiber geht davon aus, dass die Größe von *TargetValuePtr die Größe des C-Datentyps ist.
[b] Die Bruchteilsekunden des Zeitstempels werden abgeschnitten.
[c] Der Zeitteil des Zeitstempels wird abgeschnitten.
[d] Der Datumsteil des Zeitstempels wird ignoriert.
[e] Der Bruchteil von Sekunden des Zeitstempels wird abgeschnitten.
[f] Dies ist die Größe des entsprechenden C-Datentyps.
Wenn SQL-Zeitstempeldaten in Zeichen-C-Daten konvertiert werden, befindet sich die resultierende Zeichenfolge im "jjjj-mm-dd hh:mm:ss[.f...]"-Format, wobei bis zu neun Ziffern für Bruch sekunden verwendet werden können. Dieses Format ist von der Windows-Länder-/Regionseinstellung nicht betroffen. (Mit Ausnahme der Dezimalkomma- und Bruchteilsekunden muss das gesamte Format verwendet werden, unabhängig von der Genauigkeit des SQL-Datentyps für den Zeitstempel.)