Synonyme für Datentypen (Transact-SQL)

Synonyme für Datentypen werden für die Kompatibilität mit SQL-92 in SQL Server 2005 unterstützt. In der folgenden Tabelle sind die Synonyme und die SQL Server-Systemdatentypen aufgeführt, denen sie zugeordnet werden.

Synonym SQL Server-Systemdatentyp

binary varying

varbinary

char varying

varchar

character

char

character

char(1)

character(n)

char(n)

character varying(n)

varchar(n)

Dec

decimal

Double precision

float

float[(n)] for n = 1-7

real

float[(n)] for n = 8-15

float

integer

int

national character(n)

nchar(n)

national char(n)

nchar(n)

national character varying(n)

nvarchar(n)

national char varying(n)

nvarchar(n)

national text

ntext

rowversion

timestamp

Synonyme für Datentypen können in DDL-Anweisungen (Data Definition Language), wie z. B. CREATE TABLE, CREATE PROCEDURE oder DECLARE @variable, statt der entsprechenden Basisdatentypnamen verwendet werden. Die Synonyme sind allerdings nicht sichtbar, nachdem die Objekte erstellt wurden. Wenn ein Objekt erstellt wird, wird ihm der Basisdatentyp zugewiesen, der dem Synonym zugeordnet ist. Es gibt keinen Protokolleintrag, dem entnommen werden kann, dass das Synonym in der Anweisung angegeben wurde, mit der das Objekt erstellt wurde.

Allen Objekten, die von einem Originalobjekt abgeleitet wurden, wie z. B. Spalten eines Resultsets oder Ausdrücke, ist der Basisdatentyp zugewiesen. Alle Metadatenfunktionen, die später für das Originalobjekt oder für eines der abgeleiteten Objekte ausgeführt werden, melden den Basisdatentyp, nicht das Synonym. Dieses Verhalten tritt bei Metadatenoperationen, wie z. B. sp_help, und bei anderen gespeicherten Systemprozeduren auf, den Informationsschemasichten oder den verschiedenen Datenzugriff-API-Metadatenoperationen, die die Datentypen von Tabellen- oder Resultsetspalten zurückgeben.

Sie können z. B. eine Tabelle durch Angabe von national character varying erstellen:

CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, VarCharCol national character varying(10))

VarCharCol wird tatsächlich ein nvarchar(10)-Datentyp zugewiesen, und alle später ausgeführten Metadatenfunktionen melden die Spalte alsnvarchar(10)-Spalte. Die Metadatenfunktionen melden die Spalte niemals als national character varying(10)-Spalte.

Siehe auch

Verweis

Datentypen (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005