Datentypsynonyme (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Warehouse in Microsoft Fabric

Synonyme für Datentypen werden für die ISO-Kompatibilität in SQL Server 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, Datendefinitionssprache) statt der entsprechenden Basisdatentypnamen verwendet werden. Zu diesen Anweisungen zählen CREATE TABLE, CREATE PROCEDURE und DECLARE @variable. 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.

Objekten, die von einem Originalobjekt abgeleitet wurden, wie z. B. Spalten eines Resultsets oder Ausdrücke, ist der Basisdatentyp zugewiesen. Alle Metadatenfunktionen, die das Originalobjekt oder jegliches abgeleitete Objekt verwenden, melden den Basisdatentyp, nicht das Synonym, einschließlich:

  • Metadatenvorgänge wie sp_help und andere gespeicherte Systemprozeduren,
  • Informationsschemasichten und
  • Datenzugriffs-API-Metadatenvorgänge, die die Datentypen von Tabellen- oder Resultset-Spalten melden.

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 ein nvarchar(10)-Datentyp zugewiesen, und alle folgenden Metadatenfunktionen melden die Spalte als nvarchar(10)-Spalte. Die Metadatenfunktionen melden sie nie als national character varying(10)-Spalte.

Weitere Informationen

Datentypen (Transact-SQL)