UiPath Documentation
process-mining
2024.10
false

Guide de l'utilisateur de Process Mining

Dernière mise à jour 5 mai 2026

Différences de SQL entre Snowflake et SQL Server

SQL Server Vs. Snowflake

Dans un environnement de développement local, les transformations s'exécutent sur SQL Server, tandis que Snowflake est utilisé avec Process Mining Automation Suite. Bien que la plupart des instructions SQL fonctionnent à la fois sur SQL Server et Snowflake, il peut exister de légères différences dans la syntaxe, ce qui est susceptible d'entraîner des différences de résultats renvoyés.

Pour écrire des instructions SQL qui fonctionnent sur les deux systèmes de base de données :

  • Écrivez les noms de champ entre guillemets doubles, par exemple Table."Field" .
  • Empêcher l'utilisation de fonctions SQL différentes dans Snowflake et SQL Server, par exemple string_agg() et listagg() .

Le package pm_utils est livré avec un ensemble de fonctions qui fonctionnent sur les deux types de bases de données, reportez-vous à Bases de données multiples. Par exemple, au lieu d'utiliser string_agg() ou listagg(), le pm_utils.string_agg() entraînera le même comportement pour les deux bases de données. Si pm_utils ne contient pas la fonction souhaitée, une instruction jinja doit être créée pour s'assurer que la bonne fonction est appelée sur chaque base de données.

Concaténation de string

Pour combiner en chaînes, utilisez la fonction pm_utils.concat() . Cela produira les mêmes résultats pour SQL Server et Snowflake.

Exemple : pm_utils.concat("This is a nice string", null) = "This is a nice string" La concaténation de chaînes ne doit pas être effectuée avec des opérateurs tels que + ou || , car ils sont différents pour les deux bases de données (Snowflake utilise || et SQL Server utilise + ). De plus, la fonction standard concat() a un comportement différent sur les deux systèmes :

SQL ServerSnowflake
null seront ignorées et traitées comme une chaîne vide.null font que le résultat entier sera null.

Le tri est géré différemment dans Snowflake et dans SQL Server.

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

Valeurs nulles

SQL ServerSnowflake
null sera trié par défaut en premier (croissant)null sera trié par défaut en dernier (croissant)

Gérer les majuscules

SQL ServerSnowflake
les majuscules sont triées comme prévu (AaBbCc)trie d'abord par majuscules, puis par lettres non majuscules (ABCabc)

En tirets

Exemple : -Accountant-

SQL ServerSnowflake
les tirets sont ignorés dans le tri (de sorte que « -Accountant- » soit traité de la même manière que « Accountant »)les tirets seront triés en haut

Gestion des espaces

Lorsque vous effectuez un regroupement par valeurs « A » et « A », cela est considéré comme une seule valeur dans SQL Server, mais comme deux valeurs différentes dans Snowflake. Par conséquent, le rognage est conseillé si vos données peuvent causer ce problème.

Sensible à la casse

Par défaut, SQL Server ne respecte pas la casse tandis que Snowflake est sensible à la casse. Cela signifie que Table."Field" = "Some_value" et Table."Field" = "SOME_VALUE" renverront le même ensemble de résultats dans SQL Server, mais potentiellement deux ensembles de résultats différents dans Snowflake.

Il est conseillé de modifier le comportement de votre base de données SQL Server locale pour qu'il corresponde au comportement de Snowflakes, afin d'éviter tout problème. Cela peut être accompli en définissant le classement de la base de données sur une valeur sensible à la casse.

  • SQL Server Vs. Snowflake
  • Concaténation de string
  • Tri
  • Valeurs nulles
  • Gérer les majuscules
  • En tirets
  • Gestion des espaces
  • Sensible à la casse

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour