Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

T-SQL-Unterschiede bei Babelfish

Fokusmodus
T-SQL-Unterschiede bei Babelfish - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Im Folgenden finden Sie eine Tabelle der T-SQL-Funktionen, die in der aktuellen Version von Babelfish unterstützt werden, mit einigen Anmerkungen zu Unterschieden im Verhalten gegenüber dem von SQL Server.

Weitere Informationen über den Support für verschiedene Versionen finden Sie unter Unterstützte Funktionen in Babelfish nach Version. Weitere Informationen zu Funktionen, die derzeit nicht unterstützt werden, finden Sie unter Nicht unterstützte Funktionen in Babelfish.

Babelfish ist mit der PostgreSQL-kompatiblen Edition von Aurora verfügbar. Weitere Informationen zu Babelfish-Versionen finden Sie unter Versionshinweise für Aurora PostgreSQL.

Funktionalität oder Syntax Beschreibung des Verhaltens oder Unterschieds
\ (Zeilenfortsetzungszeichen) Das Zeilenfortsetzungszeichen (ein umgekehrter Schrägstrich vor einem Zeilenumbruch) für Zeichen- und Hexadezimalzeichenfolgen wird derzeit nicht unterstützt. Für Zeichenfolgen wird der Backslash für neue Zeile als Zeichen in der Zeichenfolge interpretiert. Bei Hexadezimalzeichenfolgen führt der Backslash für neue Zeile zu einem Syntaxfehler.

@@Version

Das Format des von @@version zurückgegebenen Wertes unterscheidet sich geringfügig von dem von SQL Server zurückgegebenen Wert. Ihr Code funktioniert möglicherweise nicht richtig, wenn er von der Formatierung von @@version abhängt.

Aggregationsfunktionen

Aggregatfunktionen werden teilweise unterstützt (AVG, COUNT, COUNT_BIG, GROUPING, MAX, MIN, STRING_AGG und SUM werden unterstützt). Eine Liste der nicht unterstützten Aggregatfunktionen finden Sie unter Nicht unterstützte Funktionen.

ALTER TABLE

Unterstützt nur das Hinzufügen oder Löschen einer einzelnen Spalte oder Einschränkung.

ALTER TABLE..ALTER COLUMN

NULL und NOT NULL können derzeit nicht angegeben werden. Wenn Sie die Nullfähigkeit einer Spalte ändern möchten, verwenden Sie die PostgreSQL-Anweisung ALTER TABLE..{SET|DROP} NOT NULL.

AT TIME ZONE

Während des Übergangs von der Sommerzeit (DST) zur Standardzeit wird der sich überschneidende Zeitraum mit dem Standardzeit-Offset angezeigt. Sehen Sie sich zur Verdeutlichung das folgende Beispiel an:

SELECT CONVERT(DATETIME2(0), '2022-10-30T02:00:00', 126) AT TIME ZONE 'Central European Standard Time'; GO; Result: 2022-10-30 02:00:00 +01:00

Leere Spaltennamen ohne Spaltenalias

Die sqlcmd- und psql-Dienstprogramme behandeln Spalten mit leeren Namen unterschiedlich:

  • SQL Server sqlcmd gibt einen leeren Spaltennamen zurück.

  • PostgreSQL psql gibt einen generierten Spaltennamen zurück.

Die Funktion CHECKSUM

Babelfish und SQL Server verwenden unterschiedliche Hashing-Algorithmen für die CHECKSUM-Funktion. Infolgedessen können sich die von der CHECKSUM-Funktion in Babelfish generierten Hashwerte von denen unterscheiden, die von der CHECKSUM-Funktion in SQL Server generiert wurden.

Standardeinstellung der Spalte

Beim Erstellen einer Spalte wird der Name der Einschränkung ignoriert. Verwenden Sie die folgende Syntax, um eine Spalte zu löschen: ALTER TABLE...ALTER COLUMN..DROP DEFAULT...

Constraint_name

In SQL Server müssen Einschränkungsnamen innerhalb des Schemas, zu dem die Tabelle gehört, eindeutig sein. In Babelfish gilt dies jedoch nur für PRIMARY KEY- und UNIQUE-Einschränkungen. Andere Arten von Einschränkungen unterliegen dieser Einschränkung nicht.

Beschränkungen

PostgreSQL unterstützt das Ein- und Ausschalten einzelner Einschränkungen nicht. Die Aussage wird ignoriert und eine Warnung ausgegeben.

Einschränkungen mit IGNORE_DUP_KEY

Einschränkungen werden ohne diese Eigenschaft erstellt.

SERVERROLLE ERSTELLEN, ÄNDERN, LÖSCHEN

SERVERROLLE ÄNDERN wird nur für sysadmin unterstützt. Alle anderen Syntax wird nicht unterstützt.

Der T-SQL-Benutzer in Babelfish hat eine Erfahrung, die SQL Server für die Konzepte eines Logins (Serverprinzipals), einer Datenbank und eines Datenbankbenutzers (Datenbankprinzipal) ähnelt.

CREATE, ALTER LOGIN-Klauseln werden mit eingeschränkter Syntax unterstützt

Das CREATE LOGIN... PASSWORD-Klausel,... DEFAULT_DATABASE-Klausel und... DEFAULT_LANGUAGE-Klausel werden unterstützt. Der ALTER LOGIN... PASSWORD-Klausel wird unterstützt, aber ALTER LOGIN... OLD_PASSWORD-Klausel wird nicht unterstützt. Nur ein Login, der ein sysadmin-Mitglied ist, kann ein Passwort ändern.

Sortierung der Groß- und Kleinschreibung erstellen

Sortierungen unter Berücksichtigung der Groß-/Kleinschreibung werden mit der CREATE DATABASE-Anweisung nicht unterstützt.

CREATE DATABASE Schlüsselwörter und Klaus

Optionen außer COLLATE und CONTAINMENT=NONE werden nicht unterstützt. Die COLLATE-Klausel wird akzeptiert und wird immer auf den Wert von babelfishpg_tsql.server_collation_name gesetzt.

CREATE SCHEMA... unterstützende Klauseln

Sie können den Befehl CREATE SCHEMA verwenden, um ein leeres Schema zu erstellen. Verwenden Sie zusätzliche Befehle, um Schemaobjekte zu erstellen.

Die Werte der Datenbank-ID sind bei Babelfish unterschiedlich

Die Datenbanken master und tempdb werden nicht die Datenbanken IDs 1 und 2 sein.

Die Datentypfunktion FORMAT wird mit den folgenden Einschränkungen unterstützt

Der einstellige Meridian wird nicht unterstützt.

Das Format „yyy“ in SQL Server gibt 4 Ziffern für Jahre über 1000 zurück, für andere jedoch nur 3 Ziffern.

Die Formate „g“ und „R“ werden nicht unterstützt

Die Übersetzung des Gebietsschemas „vi-VN“ unterscheidet sich geringfügig.

Bezeichner größer als 63 Zeichen

PostgreSQL unterstützt maximal 63 Zeichen für Bezeichner. Babelfish konvertiert Bezeichner, die länger als 63 Zeichen sind, in einen Namen, der einen Hash des ursprünglichen Namens enthält. Beispielsweise kann eine als „AB (ABC12345678901234567890123456789012345678901234567890123456789012345678901234567890") erstellte Tabelle in" 0123456789012345678901234567890" konvertiert werden. ABC123456789

Unterstützung für IDTITÄT

IDENTITY Spalten werden für Datentypen tinyint, smallint, int, bigint, numeric und decimal unterstützt.

SQL Server unterstützt Genauigkeit auf 38 Stellen für Datentypen numeric und decimal in IDENTITY-Spalten.

PostgreSQL unterstützt Genauigkeit auf 19 Stellen für Datentypen numeric und decimal in IDENTITY-Spalten.

Indizes mit IGNORE_DUP_KEY

Die Syntax, die einen Index erstellt, der IGNORE_DUP_KEY enthält, erstellt einen Index, als würde diese Eigenschaft weggelassen.

Indizes mit mehr als 32 Spalten

Ein Index darf nicht mehr als 32 Spalten enthalten. Eingeschlossene Indexspalten zählen in PostgreSQL auf das Maximum, jedoch nicht in SQL Server.

Indizes (gruppiert)

Gruppierte Indizes werden erstellt, als ob NONCLUSTERED angegeben worden wäre.

Index-Klausel

Die folgenden Klauseln werden ignoriert: FILLFACTOR, ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, PAD_INDEX, STATISTICS_NORECOMPUTE, OPTIMIZE_FOR_SEQUENTIAL_KEY, SORT_IN_TEMPDB, DROP_EXISTING, ONLINE, COMPRESSION_DELAY, MAXDOP und DATA_COMPRESSION

JSON-Support

Die Reihenfolge der Name-Wert-Paare ist nicht garantiert. Der Array-Typ bleibt jedoch unberührt.

LOGIN-Objekte

Alle Optionen für LOGIN-Objekte werden nicht unterstützt, mit Ausnahme von PASSWORD, DEFAULT_DATABASE, DEFAULT_LANGUAGE, ENABLE und DISABLE.

NEWSEQUENTIALID-Funktion

Als NEWID implementiert; sequentielles Verhalten ist nicht garantiert. Beim Anrufen von NEWSEQUENTIALID generiert PostgreSQL einen neuen GUID-Wert.

Die OUTPUT-Klausel wird mit den folgenden Einschränkungen unterstützt

OUTPUT und OUTPUT INTO werden in derselben DML-Abfrage nicht unterstützt. Verweise auf Nicht-Zieltabelle von UPDATE- oder DELETE-Operationen in einer OUTPUT-Klausel werden nicht unterstützt. AUSGABE… GELÖSCHT *, EINGEFÜGT* werden in derselben Abfrage nicht unterstützt.

Begrenzung von Prozedur- oder

Babelfish unterstützt maximal 100 Parameter für eine Prozedur oder Funktion.

ROWGUIDCOL

Diese Klausel wird derzeit ignoriert. Referenzfragen $GUIDGOL verursachen einen Syntaxfehler.

Unterstützung für SEQUENCE

SEQUENCE-Objekte werden für die Datentypen tinyint, smallint, int, bigint, numeric und decimal unterstützt.

Aurora PostgreSQL unterstützt Genauigkeit auf 19 Stellen für Datentypen numerisch und dezimal in einer SEQUENCE.

Rollen auf Serverebene

Die Rolle sysadmin auf Serverebene wird unterstützt. Andere Rollen auf Serverebene (außer sysadmin) werden nicht unterstützt.

Andere Rollen auf Datenbankebene als db_owner

Die Rollen db_owner auf Datenbankebene und die benutzerdefinierten Rollen auf Datenbankebene werden unterstützt. Andere Rollen auf Datenbankebene (als db_owner) werden nicht unterstützt.

SQL-Schlüsselwort SPARSE

Das Schlüsselwort SPARSE wird akzeptiert und ignoriert.

SQL Schlüsselwortklausel ON filegroup

Diese Klausel wird derzeit ignoriert.

SQL-Schlüsselwörter CLUSTERED und NONCLUSTERED für Indizes und Beschränkungen

Babelfish akzeptiert und ignoriert CLUSTERED und NONCLUSTERED-Schlüsselwörter.

sysdatabases.cmptlevel

sysdatabases.cmptlevel ist immer auf 120 eingestellt.

tempdb wird beim Neustart nicht neu initialisiert

Permanente Objekte (wie Tabellen und Prozeduren), die in tempdb erstellt wurden, werden beim Neustart der Datenbank nicht entfernt.

TEXTIMAGE_ON Dateigruppe

Babelfish ignoriert die TEXTIMAGE_ON filegroup-Klausel.

Zeitgenauigkeit

Babelfish unterstützt eine 6-stellige Genauigkeit für Sekundenbruchteile. Bei diesem Verhalten sind keine negativen Auswirkungen zu erwarten.

Transaktionsisolierungsstufen

READUNCOMTED wird genauso behandelt wie READCOMTED.

Virtuell berechnete Spalten (nicht persistent)

Virtuell berechnete Spalten werden als persistent erstellt.

Ohne SCHEMABINDING-Klausel

Diese Klausel wird in Funktionen, Prozeduren, Triggern oder Ansichten nicht unterstützt. Das Objekt wird erstellt, aber als ob WITH SCHEMABINDING angegeben wurde.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.