Share via


C zu SQL: Jahr-Monat-Intervalle

Die Bezeichner für die ODBC C-Datentypen für das Jahres-Monatsintervall sind:

SQL_C_INTERVAL_MONTH SQL_C_INTERVAL_YEAR SQL_C_INTERVAL_YEAR_TO_MONTH

In der folgenden Tabelle sind die ODBC SQL-Datentypen aufgeführt, in die C-Daten im Jahr-Monat-Intervall konvertiert werden können. Eine Erläuterung der Spalten und Begriffe in der Tabelle finden Sie unter Konvertieren von Daten aus C in SQL-Datentypen.

SQL-Typbezeichner Test SQLSTATE
SQL_CHAR[a]

SQL_VARCHAR[a]

SQL_LONGVARCHAR[a]
Spaltenbytelänge >= Zeichenbytelänge

Spaltenbytelänge < Zeichenbytelänge[a]

Der Datenwert ist kein gültiges Intervallliteral.


22001

22015
SQL_WCHAR[a]

SQL_WVARCHAR[a]

SQL_WLONGVARCHAR[a]
Spaltenzeichenlänge >= Zeichenlänge der Daten

Spaltenzeichenlänge < Zeichenlänge von data[a]

Der Datenwert ist kein gültiges Intervallliteral.


22001

22015
SQL_TINYINT[b]

SQL_SMALLINT[b]

SQL_INTEGER[b]

SQL_BIGINT[b]

SQL_NUMERIC[b]

SQL_DECIMAL[b]
Die Konvertierung eines einfeldigen Intervalls hat keine Kürzung ganzer Ziffern zur Folge.

Konvertierung führte zum Abschneiden ganzer Ziffern


22003
SQL_INTERVAL_MONTH

SQL_INTERVAL_YEAR

SQL_INTERVAL_YEAR_TO_MONTH
Der Datenwert wurde ohne Abschneiden von Feldern konvertiert.

Mindestens ein Feld des Datenwerts wurde während der Konvertierung abgeschnitten.


22015

[a] Alle C-Intervalldatentypen können in einen Zeichendatentyp konvertiert werden.

[b] Wenn das Typfeld in der Intervallstruktur so ist, dass das Intervall ein einzelnes Feld (SQL_YEAR oder SQL_MONTH) ist, kann der Intervalltyp C in eine beliebige exakte numerische (SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_DECIMAL oder SQL_NUMERIC) konvertiert werden.

Die Standardkonvertierung eines Intervalls vom Typ C ist in den entsprechenden SQL-Typ für das Intervall zwischen Jahr und Monat.

Der Treiber ignoriert den Längen-/Indikatorwert beim Konvertieren von Daten aus dem Intervall-C-Datentyp und geht davon aus, dass die Größe des Datenpuffers der Größe des Intervall-C-Datentyps entspricht. Der Längen-/Indikatorwert wird im argument StrLen_or_Ind in SQLPutData und im Puffer übergeben, der mit dem argument StrLen_or_IndPtr in SQLBindParameter angegeben ist. Der Datenpuffer wird mit dem Argument DataPtr in SQLPutData und dem Argument ParameterValuePtr in SQLBindParameter angegeben.