sp_datatype_info (Transact-SQL)
Gibt Informationen zu den von der aktuellen Umgebung unterstützten Datentypen zurück.
Syntax
sp_datatype_info [ [ @data_type = ] data_type ]
[ , [ @ODBCVer = ] odbc_version ]
Argumente
[ @data_type= ] data_type
Die Codenummer für den angegebenen Datentyp. Lassen Sie diesen Parameter aus, um eine Liste aller Datentypen zu erhalten. data_type ist vom Datentyp int, der Standardwert ist 0.[ @ODBCVer= ] odbc_version
Ist die verwendete ODBC-Version. odbc_version ist vom Datentyp tinyint, der Standardwert ist 2.
Rückgabecodewerte
Keine
Resultsets
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
TYPE_NAME |
sysname |
Der DBMS-abhängige Datentyp. |
DATA_TYPE |
smallint |
Der Code für den ODBC-Datentyp, dem alle Spalten dieses Datentyps zugeordnet sind. |
PRECISION |
int |
Die maximale Genauigkeit des Datentyps bezüglich der Datenquelle. NULL wird für Datentypen zurückgegeben, auf die die Genauigkeit nicht anwendbar ist. Der Rückgabewert für die PRECISION-Spalte hat die Basis 10. |
LITERAL_PREFIX |
varchar(32) |
Das oder die Zeichen, die einer Konstante vorangestellt werden. Dazu zählen beispielsweise ein einfaches Anführungszeichen (') bei Zeichentypen und 0x bei Binärtypen. |
LITERAL_SUFFIX |
varchar(32) |
Das oder die Zeichen, die eine Konstante beenden. Dazu zählen beispielsweise ein einfaches Anführungszeichen (') bei Zeichentypen und keine Anführungszeichen bei Binärtypen. |
CREATE_PARAMS |
varchar(32) |
Die Beschreibung der Erstellungsparameter für diesen Datentyp. Dazu zählen beispielsweise "precision, scale" bei decimal, NULL bei float und "max_length" bei varchar. |
NULLABLE |
smallint |
Gibt die NULL-Zulässigkeit an. 1 = Lässt NULL-Werte zu. 0 = Lässt keine NULL-Werte zu. |
CASE_SENSITIVE |
smallint |
Gibt die Unterscheidung nach Groß-/Kleinschreibung an. 1 = Bei allen Spalten dieses Typs wird nach Groß-/Kleinschreibung unterschieden (für Sortierungen). 0 = Bei allen Spalten dieses Typs wird nicht nach Groß-/Kleinschreibung unterschieden. |
SEARCHABLE |
smallint |
Gibt die Möglichkeiten zur Suche für den Spaltentyp an: 1 = Kann nicht durchsucht werden. 2 = Durchsuchbar mit LIKE. 3 = Durchsuchbar mit WHERE. 4 = Durchsuchbar mit WHERE oder LIKE. |
UNSIGNED_ATTRIBUTE |
smallint |
Gibt das Vorzeichen des Datentyps an. 1 = Datentyp ohne Vorzeichen 0 = Datentyp mit Vorzeichen |
MONEY |
smallint |
Gibt den money-Datentyp an. 1 = money-Datentyp. 0 = Kein money-Datentyp |
AUTO_INCREMENT |
smallint |
Gibt die automatische Inkrementierung an. 1 = Automatische Inkrementierung 0 = Keine automatische Inkrementierung NULL = Attribut nicht zutreffend Eine Anwendung kann zwar Werte in eine Spalte einfügen, die dieses Attribut aufweist, kann jedoch die Werte in der Spalte nicht aktualisieren. Außer für den bit-Datentyp ist AUTO_INCREMENT nur für Datentypen zulässig, die den Datentypkategorien "genauer numerischer Ausdruck" und "ungefährer numerischer Ausdruck" angehören. |
LOCAL_TYPE_NAME |
sysname |
Lokalisierte Version des von der Datenquelle abhängigen Datentypamens. Beispielsweise lautet DECIMAL auf Französisch DECIMALE. NULL wird zurückgegeben, wenn ein lokalisierter Name nicht von der Datenquelle unterstützt wird. |
MINIMUM_SCALE |
smallint |
Die minimalen Dezimalstellen des Datentyps bezüglich der Datenquelle. Wenn für einen Datentyp feste Dezimalstellen definiert wurden, enthalten die Spalten MINIMUM_SCALE und MAXIMUM_SCALE denselben Wert. NULL wird zurückgegeben, wenn Dezimalstellen auf den Datentyp nicht anwendbar sind. |
MAXIMUM_SCALE |
smallint |
Die maximalen Dezimalstellen des Datentyps bezüglich der Datenquelle. Wenn die maximalen Dezimalstellen für die Datenquelle nicht separat definiert wurden und stattdessen definiert wurde, dass sie der maximalen Genauigkeit entsprechen, enthält diese Spalte denselben Wert wie die PRECISION-Spalte. |
SQL_DATA_TYPE |
smallint |
Der Wert des SQL-Datentyps, wie er im TYPE-Feld des Deskriptors angezeigt wird. Diese Spalte entspricht der DATA_TYPE-Spalte mit Ausnahme der Datentypen datetime und ANSI interval. Dieses Feld gibt immer einen Wert zurück. |
SQL_DATETIME_SUB |
smallint |
Wenn SQL_DATA_TYPE den Wert SQL_DATETIME oder SQL_INTERVAL hat, enthält diese Spalte den Subcode für datetime oder ANSI interval. Bei allen anderen Datentypen außer datetime und ANSI interval ist dieses Feld NULL. |
NUM_PREC_RADIX |
int |
Die Anzahl der Bits oder Stellen für das Berechnen der höchsten Zahl, die eine Spalte enthalten kann. Wenn es sich um einen ungefähren numerischen Datentyp handelt, enthält diese Spalte den Wert 2 für mehrere Bits. Bei exakten numerischen Datentypen enthält diese Spalte den Wert 10 für mehrere Dezimalstellen. Andernfalls ist diese Spalte NULL. Aus der Kombination von Genauigkeit und Basis kann die Anwendung die höchste Zahl berechnen, die die Spalte enthalten kann. |
INTERVAL_PRECISION |
smallint |
Genauigkeit für anführenden Intervallwert, wenn data_type den Wert interval hat, andernfalls NULL. |
USERTYPE |
smallint |
usertype-Wert aus der systypes-Tabelle. |
Hinweise
sp_datatype_info entspricht SQLGetTypeInfo in ODBC. Die zurückgegebenen Ergebnisse sind zuerst nach DATA_TYPE und dann nach der Übereinstimmung des Datentyps mit dem entsprechenden ODBC SQL-Datentyp geordnet.
Berechtigungen
Setzt die Mitgliedschaft in der public-Rolle voraus.
Beispiele
Im folgenden Beispiel werden Informationen für die Datentypen sysname und nvarchar durch Angeben des data_type-Werts -9 abgerufen.
USE master;
GO
EXEC sp_datatype_info -9;
GO