SnowConvert AI - PostgreSQL - Fonctions intégrées¶
S’applique à :¶
PostgreSQL
Greenplum
Netezza
Note
Pour plus d’informations sur les fonctions intégrées et leurs équivalents Snowflake, consultez également les fonctions intégrées courantes.
Fonctions d’agrégation¶
Les fonctions d’agrégation calculent une seule valeur de résultat à partir d’un ensemble de valeurs d’entrée. (Fonctions d’agrégation du langage de référence PostgreSQL).
PostgreSQL |
Snowflake |
|---|---|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/avg »>AVG</a></p><p></p><p><em>Remarques :</em> PostgreSQL <em>et Snowflake peuvent afficher des précisions/décimales différentes en raison de l’arrondi/du formatage des types de données.</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/median »>MEDIAN</a> </p><p></p><p><em>Remarques<strong> : Snowflake n’autorise pas l’utilisation de types de date</strong>, tandis que</em> PostgreSQL <em> l’autorise. (Voir</em> <a href= »../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM.md#ssc-fdm-pg0013 »>SSC-FDM-PG0013</a><em>).</em></p> |
|
STDDEV/STDDEV_SAMP (expression) |
STDDEV/STDDEV_SAMP (expression) |
STDDEV_POP (expression) |
STDDEV_POP (expression) |
VARIANCE/VAR_SAMP (expression) |
VARIANCE/VAR_SAMP (expression) |
VAR_POP (expression) |
VAR_POP (expression) |
Expressions conditionnelles¶
PostgreSQL |
Snowflake |
|---|---|
COALESCE ( value [, …] ) |
COALESCE ( expression, expression, … ) |
GREATEST ( value [, …] ) |
GREATEST_IGNORE_NULLS ( <expr1> [, <expr2> … ] ) |
LEAST ( value [, …] ) |
LEAST_IGNORE_NULLS ( <expr1> [, <expr2> … ]) |
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/nullif »>NULLIF</a> <br><br><em>Remarques : NULLIF de PostgreSQL ignore les espaces de fin dans certaines comparaisons de chaînes, contrairement à Snowflake. Par conséquent, la transformation ajoute RTRIM pour l’équivalence.</em></p> |
Fonctions de formatage de types de données¶
Les fonctions de formatage de type de données offrent un moyen simple de convertir des valeurs d’un type de données à un autre. Pour chacune de ces fonctions, le premier argument est toujours la valeur à formater et le deuxième argument contient le modèle pour le nouveau format. (Fonctions de formatage de type de données de référence de langage PostgreSQL).
PostgreSQL |
Snowflake |
|---|---|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/to_char »>TO_CHAR</a> </p><p></p><p><em>Remarques : La prise en charge de cette fonction par Snowflake est partielle (voir</em> <a href= »broken-reference »><em>SSC-EWI-PG0005</em></a><em>).</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/to_date »>TO_DATE</a> </p><p></p><p><em>Remarques : <code>TO_DATE</code> de Snowflake échoue pour des dates non valides telles que « 20010631 » (juin compte 30 jours), contrairement au <code>TO_DATE</code> plus flexible de </em> PostgreSQL”<em>. Utilisez <code>TRY_TO_DATE</code> dans Snowflake pour traiter ces cas en renvoyant NULL. (voir</em> <a href= »broken-reference »><em>SSC-EWI-PG0005</em></a><em>,</em> <a href= »../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM.md#ssc-fdm-0032 »><em>SSC-FDM-0032</em></a><em>).</em></p> |
Fonctions de date et d’heure¶
PostgreSQL |
Snowflake |
|---|---|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/convert_timezone »>CONVERT_TIMEZONE</a> ( <source_tz> , <target_tz> , <source_timestamp_ntz> )</p><p><br></p><p><a href= »https://docs.snowflake.com/en/sql-reference/functions/convert_timezone »>CONVERT_TIMEZONE</a> ( <target_tz> , <source_timestamp> ) </p><p></p><p><em>Remarques :</em> PostgreSQL <em>utilise UTC par défaut ; la fonction Snowflake requiert une spécification UTC explicite. Par conséquent, il sera ajouté comme fuseau horaire cible.</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/date_part »>DATE_PART</a> </p><p></p><p><em>Notes : cette fonction est partiellement prise en charge par Snowflake. (Voir </em> <a href= »broken-reference »><em>SSC-EWI-PGOOO5</em></a><em>).</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/date_trunc »>DATE_TRUNC</a> </p><p></p><p><em>Remarques : Les formats de parties de date non valides sont traduits en formats compatibles avec Snowflake.</em> </p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/extract »>EXTRACT</a><br><br><em>Remarques :</em> Partie de temps ou date prise en charge : DAY, DOW, DOY, EPOCH, HOUR, MINUTE, MONTH, QUARTER, SECOND, WEEK, YEAR. </p> |
|
Note
Les horodatages PostgreSQL ont une précision de microseconde par défaut (6 chiffres) ; Snowflake utilise par défaut une précision en nanosecondes (9 chiffres). Ajustez la précision selon vos besoins à l’aide de ALTER SESSION (par ex., ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF2';). Une perte de précision peut se produire en fonction du type de données utilisé.\ \ Comme certains formats sont incompatibles avec Snowflake, le réglage des paramètres de compte [DATE_INPUT_FORMAT ou TIME_INPUT_FORMAT](https://docs.snowflake.com/en/sql-reference/date-time-input-output#data-loading pourrait maintenir l’équivalence fonctionnelle entre les plateformes.
Fonctions JSON¶
PostgreSQL |
Snowflake |
|---|---|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/json_extract_path_text »>JSON_EXTRACT_PATH_TEXT</a> </p><p></p><p><em>Remarques :</em> </p><ol><li>PostgreSQL <em>traite littéralement les caractères de nouvelle ligne, de tabulation et de retour chariot ; Snowflake les interprète.</em></li><li><em>Un littéral JSON et un chemin séparé par des points sont nécessaires pour accéder aux objets imbriqués dans la fonction Snowflake.</em></li><li><em>Les chemins avec des espaces dans les variables doivent être entre guillemets.</em></li></ol> |
Fonctions mathématiques¶
PostgreSQL |
Snowflake |
|---|---|
Note
L’échelle des résultats PostgreSQL et Snowflake peut varier.
Fonctions de chaîne¶
Les fonctions de chaîne traitent et manipulent les chaînes de caractères ou les expressions qui correspondent à des chaînes de caractères. (Fonctions de chaîne de référence du langage PostgreSQL).
PostgreSQL |
Snowflake |
|---|---|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/octet_length »>OCTET_LENGTH</a> </p><p></p><p><em>Remarques :</em> <em>les résultats peuvent varier selon les plateformes (Voir</em> <a href= »../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM.md#ssc-fdm-pg0013 »>SSC-FDM-PG0013</a><em>).</em></p> |
|
QUOTE_IDENT (string) |
CONCAT (“ »”, string, “ »”) |
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/regexp_replace »>REGEXP_REPLACE</a> </p><p></p><p><em>Remarques : Cette fonction comprend un argument <code>paramètres</code> qui permet à l’utilisateur d’interpréter le modèle en utilisant l’expression régulière compatible avec le dialecte Expression régulière compatible Perl (PCRE), représenté par la valeur <code>p</code> ; cette valeur est supprimée pour éviter tout problème</em>. <em>(Voir</em> <a href= »../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI.md#ssc-ewi-0009 »><em>SSC-EWI-0009</em></a><em>,</em> <a href= »../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM.md#ssc-fdm-0032 »><em>SC-FDM-0032</em></a><em>,</em> <a href= »../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM.md#ssc-fdm-pg0011 »><em>SSC-FDM- PG0011</em></a><em>).</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/split_part »>SPLIT_PART</a> </p><p></p><p><em>Remarques : Snowflake et</em> PostgreSQL <em>traitent SPLIT_PART différemment avec des classements insensibles à la casse.</em></p> |
|
STRPOS (string, substring ) |
POSITION ( <expr1> IN <expr> ) |
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/substr »><em>SUBSTRING</em></a> </p><p></p><p><em>Remarques :</em> Snowflake prend en charge partiellement cette fonction. <code>SUBSTRING</code> de PostgreSQL, avec <code>start_position</code> non positif, calcule <code>start_position + number_characters</code> (renvoyant “” si le résultat est non positif). Le comportement de Snowflake diffère.</p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/trim »><em>TRIM</em></a> </p><p></p><p><em>Remarques :</em> PostgreSQL <em>utilise des mots-clés (BOTH, LEADING, TRAILING) pour la rognage ; Snowflake utilise TRIM, LTRIM, RTRIM.</em></p> |
|
Fonctions de fenêtre¶
PostgreSQL |
Snowflake |
|---|---|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/avg »><em>AVG</em></a> </p><p></p><p><em>Remarques : l’arrondi/le formatage AVG peut varier selon le type de données entre</em> PostgreSQL <em>et Snowflake.</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/dense_rank »>DENSE_RANK</a> </p><p></p><p><em>Remarques : ORDER BY est obligatoire dans Snowflake ; les clauses manquantes sont remplacées par <code>ORDER BY 1</code>.</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/first_value »>FIRST_VALUE</a> </p><p></p><p><em>Remarques : Snowflake a besoin de ORDER BY ; les clauses manquantes obtiennent <code>ORDER BY <expr>.</code></em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/last_value »>LAST_VALUE</a> </p><p></p><p><em>Remarques : Snowflake a besoin de ORDER BY ; les clauses manquantes obtiennent <code>ORDER BY <expr></code>.</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/lead »>LEAD</a> </p><p></p><p><em>Remarques :</em> PostgreSQL <em>autorise les décalages de constantes ou d’expressions ; Snowflake autorise uniquement un décalage de constante</em>.</p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/nth_value »>NTH_VALUE</a> </p><p></p><p><em>Remarques : ORDER BY est obligatoire dans Snowflake ; les clauses manquantes sont remplacées par <code>ORDER BY 1</code>.</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/ntile »>NTILE</a> </p><p></p><p><em>Remarques : ORDER BY est obligatoire dans Snowflake ; les clauses manquantes sont remplacées par <code>ORDER BY 1</code>. (Voir</em> <a href= »../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM.md#ssc-fdm-pg0013 »>SSC-FDM-PG0013</a><em>).</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/percent_rank »>PERCENT_RANK</a> </p><p></p><p><em>Remarques : ORDER BY est obligatoire dans Snowflake ; les clauses manquantes sont remplacées par <code>ORDER BY 1</code>.</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/percentile_cont »>PERCENTILE_CONT</a> </p><p></p><p><em>Remarques : L’arrondi varie selon les plateformes.</em></p> |
|
<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/row_number »>ROW_NUMBER</a> </p><p></p><p><em>Remarques : ORDER BY est obligatoire dans Snowflake ; les clauses manquantes sont remplacées par <code>ORDER BY 1</code>.</em></p> |