UiPath Documentation
process-mining
latest
false

Process Mining-Benutzerhandbuch

Letzte Aktualisierung 5. Mai 2026

SQL-Unterschiede zwischen Snowflake und SQL Server

SQL-Server vs. Snowflake

In einer lokalen Entwicklungsumgebung werden Transformationen auf SQL Server ausgeführt, während Snowflake in der Process Mining Automation Cloud verwendet wird. Obwohl die meisten SQL-Anweisungen sowohl mit SQL Server als auch mit Snowflake funktionieren, kann es geringfügige Unterschiede in der Syntax geben, die zu unterschiedlichen Rückgabeergebnissen führen können.

So schreiben Sie SQL-Anweisungen, die auf beiden Datenbanksystemen funktionieren:

  • Schreiben Sie Feldnamen in doppelte Anführungszeichen, z. B. Table."Field" .
  • Verhindern der Verwendung von SQL-Funktionen, die sich in Snowflake und SQL Server unterscheiden, z. B. string_agg() und listagg() .

Das pm_utils -Paket enthält eine Reihe von Funktionen, die auf beiden Datenbanktypen funktionieren, siehe Mehrere Datenbanken. Anstatt beispielsweise string_agg() oder listagg() zu verwenden, führt pm_utils.string_agg() zu demselben Verhalten für beide Datenbanken. Wenn pm_utils die gewünschte Funktion nicht enthält, sollte eine Chinja-Anweisung erstellt werden, um sicherzustellen, dass die richtige Funktion in jeder Datenbank aufgerufen wird.

Zeichenfolgenverkettung

Um zu Strings zu kombinieren, verwenden Sie die Funktion pm_utils.concat() . Dies führt zu den gleichen Ergebnissen für SQL Server und Snowflake.

Beispiel: pm_utils.concat("This is a nice string", null) = "This is a nice string" Das Verketten von Zeichenfolgen sollte nicht mit Operatoren wie + oder || erfolgen, da sie sich für beide Datenbanken unterscheiden (Snowflake verwendet || und SQL Server verwendet + ). Auch die Standardfunktion concat() hat auf beiden Systemen ein unterschiedliches Verhalten:

SQL-ServerSnowflake
null werden ignoriert und als leere Zeichenfolge behandelt.null führen dazu, dass das gesamte Ergebnis null ist.

Sortierung

Die Sortierung wird in Snowflake und SQL Server unterschiedlich gehandhabt.

Beispiel: ... order by "Attribute_1" desc, "Attribute_2" ....

NULL-Werte

SQL-ServerSnowflake
null werden standardmäßig zuerst sortiert (aufsteigend)null werden standardmäßig als letztes sortiert (aufsteigend)

Umgang mit Großbuchstaben

SQL-ServerSnowflake
Großbuchstaben werden wie erwartet sortiert (AaBbCc)Sortiert zuerst nach Großbuchstaben, dann nach Nicht-Großbuchstaben (ABCabc)

Bindestriche

Beispiel: -Accountant-.

SQL-ServerSnowflake
Bindestriche werden bei der Sortierung ignoriert (daher wird „-Accountant-“ genauso behandelt wie „Accountant“).Bindestriche werden oben sortiert

Umgang mit Leerzeichen

Wenn Sie nach den Werten „A“ und „A“ gruppieren, wird dies in SQL Server als ein Wert angesehen, in Snowflake jedoch als zwei verschiedene Werte. Daher wird das Trimmen empfohlen, wenn Ihre Daten dieses Problem verursachen können.

Berücksichtigung von Groß- und Kleinschreibung

Standardmäßig unterscheidet SQL Server die Groß-/Kleinschreibung, während Snowflake die Groß-/Kleinschreibung berücksichtigt. Das bedeutet, dass Table."Field" = "Some_value" und Table."Field" = "SOME_VALUE" dasselbe Resultset in SQL Server zurückgeben, aber möglicherweise zwei verschiedene Resultsets in Snowflake.

Es wird empfohlen, das Verhalten Ihrer lokalen SQL Server-Datenbank so zu ändern, dass es dem Verhalten von Snowflakes entspricht, um Probleme zu vermeiden. Dies kann erreicht werden, indem die Datenbanksortierung auf einen Wert festgelegt wird, bei dem die Groß-/Kleinschreibung beachtet wird.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben