Teilen über


Datentypverwendung

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)

Der SQL Server Native Client ODBC-Treiber und SQL Server legen die folgende Verwendung von Datentypen fest.

Datentyp Einschränkung
Datumsliterale Datumsliterale, die in einer SQL_TYPE_TIMESTAMP Spalte (SQL Server-Datentypen von datetime oder smalldatetime) gespeichert werden, weisen einen Zeitwert von 12:00:00.000 A.M. auf.
money und smallmoney Nur die ganzzahligen Teile der Datentypen "Geld " und "Smallmoney " sind signifikant. Wenn der dezimale Teil der SQL-Gelddaten während der Datentypkonvertierung abgeschnitten wird, gibt der ODBC-Treiber von SQL Server Native Client eine Warnung und keinen Fehler zurück.
SQL_BINARY (NULL zulassen) Wenn eine Verbindung mit einer Instanz von SQL Server, Version 6.0 und früher, hergestellt wird, wenn eine SQL_BINARY Spalte nullfähig ist, werden die in der Datenquelle gespeicherten Daten nicht mit Nullen aufgefüllt. Wenn Daten aus einer solchen Spalte abgerufen werden, werden die ODBC-Treiberpads von SQL Server Native Client mit Nullen auf der rechten Seite angezeigt. Daten, die in Vorgängen erstellt werden, die von SQL Server ausgeführt werden, z. B. Verkettung, weisen jedoch keinen solchen Abstand auf.

Wenn Daten in einer Instanz von SQL Server 6.0 oder einer früheren Instanz in einer solchen Spalte platziert werden, schneidet SQL Server die Daten auf der rechten Seite ab, wenn sie zu lang ist, um in die Spalte einzupassen.

Hinweis: Der ODBC-Treiber für SQL Server Native Client unterstützt die Verbindung mit SQL Server 6.5 und früher.
SQL_CHAR (Kürzung) Wenn eine Verbindung mit einer Instanz von SQL Server 6.0 und früher hergestellt wird und Daten in eine SQL_CHAR Spalte eingefügt werden, schneidet SQL Server sie auf der rechten Seite ohne Warnung ab, wenn die Daten zu lang sind, um in die Spalte einzupassen.

Hinweis: Der ODBC-Treiber für SQL Server Native Client unterstützt die Verbindung mit SQL Server 6.5 und früher.
SQL_CHAR (NULL zulassen) Wenn eine Verbindung mit einer Instanz von SQL Server 6.0 und früher hergestellt wird, wenn eine SQL_CHAR Spalte nullfähig ist, werden die in der Datenquelle gespeicherten Daten nicht mit Leerzeichen aufgefüllt. Wenn Daten aus einer solchen Spalte abgerufen werden, werden die SQL Server Native Client ODBC-Treiberpads mit Leerzeichen auf der rechten Seite angezeigt. Daten, die in Vorgängen erstellt werden, die von SQL Server ausgeführt werden, z. B. Verkettung, weisen jedoch keinen solchen Abstand auf.

Hinweis: Der ODBC-Treiber für SQL Server Native Client unterstützt die Verbindung mit SQL Server 6.5 und früher.
SQL_LONGVARBINARY, SQL_LONGVARCHAR, SQL_WLONGVARCHAR Aktualisierungen von Spalten mit SQL_LONGVARBINARY, SQL_LONGVARCHAR oder SQL_WLONGVARCHAR Datentypen (mithilfe einer WHERE-Klausel), die sich auf mehrere Zeilen auswirken, werden vollständig unterstützt, wenn eine Verbindung mit einer Instanz von SQL Server 6 hergestellt wird.x und höher. Wenn eine Verbindung mit einer Instanz von SQL Server 4.2x hergestellt wird, ist ein S1000-Fehler "Partielles Einfügen/Aktualisieren" aufgetreten. Die Einfügung bzw. das Update von Text- oder Imagespalte(n) war nicht erfolgreich." ausgegeben, wenn das Update mehr als eine Zeile betrifft.

Hinweis: Der ODBC-Treiber für SQL Server Native Client unterstützt die Verbindung mit SQL Server 6.5 und früher.
Zeichenfolge-Funktionsparameter string_exp Parameter für die Zeichenfolgenfunktionen müssen vom Datentyp SQL_CHAR oder SQL_VARCHAR sein. SQL_LONG_VARCHAR-Datentypen werden in Zeichenfolgenfunktionen nicht unterstützt. Der Count-Parameter muss kleiner oder gleich 8.000 sein, da die Datentypen SQL_CHAR und SQL_VARCHAR auf eine maximale Länge von 8.000 Zeichen beschränkt sind.
Zeitliterale Zeitliterale, wenn sie in einer SQL_TIMESTAMP Spalte (SQL Server-Datentypen von datetime oder smalldatetime) gespeichert sind, weisen einen Datumswert vom 1. Januar 1900 auf.
timestamp Nur ein NULL-Wert kann manuell in eine Zeitstempelspalte eingefügt werden. Da Zeitstempelspaltenjedoch automatisch von SQL Server aktualisiert werden, wird ein NULL-Wert überschrieben.
tinyint Der SQL Server-Datentyp "tinyint " ist nicht signiert. Eine winzige Spalte ist standardmäßig an eine Variable vom Datentyp SQL_C_UTINYINT gebunden.
Alias-Datentypen Wenn eine Verbindung mit einer Instanz von SQL Server 4.2x hergestellt wird, fügt der ODBC-Treiber einer Spaltendefinition NULL hinzu, die die Nullbarkeit einer Spalte nicht explizit deklariert. Deshalb wird der NULL-Zulässigkeitsstatus, der in der Definition eines Aliasdatentyps gespeichert ist, ignoriert.

Wenn eine Verbindung mit einer Instanz von SQL Server 4.2x besteht, werden Spalten mit einem Aliasdatentyp mit einem Basisdatentyp von Zeichen oder Binärdaten erstellt, für die keine Nullierbarkeit deklariert wird, als Datentyp varchar oder varbinary. SQLColAttribute, SQLColumns und SQLDescribeCol geben SQL_VARCHAR oder SQL_VARBINARY als Datentyp für diese Spalten zurück. Daten, die von diesen Spalten abgerufen werden, werden nicht aufgefüllt.

Hinweis: Der ODBC-Treiber für SQL Server Native Client unterstützt die Verbindung mit SQL Server 6.5 und früher.
LONG-Datentypen Data-at-Execution-Parameter sind sowohl für die SQL_LONGVARBINARY als auch für die SQL_LONGVARCHAR Datentypen eingeschränkt.
Typen für hohe Werte Der SQL Server Native Client ODBC-Treiber macht varchar(max)-, varbinary(max)- und nvarchar(max)-Typen als SQL_VARCHAR, SQL_VARBINARY bzw. SQL_WVARCHAR in APIs verfügbar, die ODBC-SQL-Datentypen akzeptieren oder zurückgeben.
Benutzerdefinierter Typ (User-defined type, UDT) UDT-Spalten werden als SQL_SS_UDT zugeordnet. Wenn eine UDT-Spalte unter Verwendung der ToString()- oder der ToXMLString()-Methode des UDT oder über die CAST/CONVERT-Funktionen explizit einem anderen Typ in der SQL-Anweisung zugeordnet wird, gibt der Typ der Spalte im Resultset den tatsächlichen Typ wieder, in den die Spalte konvertiert wurde.

Der SQL Server Native Client ODBC-Treiber kann nur als binär an eine UDT-Spalte gebunden werden. SQL Server unterstützt nur die Konvertierung zwischen den Datentypen SQL_SS_UDT und SQL_C_BINARY.
XML SQL Server konvertiert XML automatisch in Unicode-Text. Der XML-Typ wird als SQL_SS_XML zugeordnet.

Weitere Informationen

Verarbeiten von Ergebnissen (ODBC)