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.