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

AVG

<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>

COUNT

COUNT

MAX

MAX

MEDIAN

<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>

MIN

MIN

PERCENTILE_CONT

PERCENTILE_CONT

STDDEV/STDDEV_SAMP (expression)

STDDEV/STDDEV_SAMP (expression)

STDDEV_POP (expression)

STDDEV_POP (expression)

SUM

SUM

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> … ])

NULLIF

<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

TO_CHAR

<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>

TO_DATE

<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

AT TIME ZONE “timezone”

<p><a href= »https://docs.snowflake.com/en/sql-reference/functions/convert_timezone »>CONVERT_TIMEZONE</a> ( &#x3C;source_tz> , &#x3C;target_tz> , &#x3C;source_timestamp_ntz> )</p><p><br></p><p><a href= »https://docs.snowflake.com/en/sql-reference/functions/convert_timezone »>CONVERT_TIMEZONE</a> ( &#x3C;target_tz> , &#x3C;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>

CURRENT_DATE

CURRENT_DATE()

DATE_PART/PGDATE_PART

<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>

DATE_TRUNC

<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>

TO_TIMESTAMP

TO_TIMESTAMP

EXTRACT

<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>

TIMEZONE

CONVERT_TIMEZONE

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

JSON_EXTRACT_PATH_TEXT

<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

ACOS

ACOS

ASIN

ASIN

ATAN

ATAN

ATAN2

ATAN2

CBRT

CBRT

CEIL/CEILING

CEIL

COS

COS

COT

COT

DEGREES

DEGREES

LN

LN

EXP

EXP

FLOOR

FLOOR

LOG

LOG

MOD

MOD

PI

PI

POWER/POW

POWER/POW

RADIANS

RADIANS

RANDOM

RANDOM

ROUND

ROUND

SIN

SIN

SIGN

SIGN

SQRT

SQRT

TAN

TAN

TRUNC

TRUNC

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

ASCII

ASCII

BTRIM

TRIM

CHAR_LENGTH

LENGTH

CHARACTER_LENGTH

LENGTH

CHR

CHR

CONCAT

CONCAT

INITCAP

INITCAP

LEFT/RIGHT

LEFT/RIGHT

LOWER

LOWER

OCTET_LENGTH

<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, “ »”)

REGEXP_REPLACE

<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>

REPEAT

REPEAT

REPLACE

REPLACE

REVERSE

REVERSE

SPLIT_PART

<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> )

SUBSTRING

<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>

TRANSLATE

TRANSLATE

TRIM

<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>

UPPER

UPPER

Fonctions de fenêtre

PostgreSQL

Snowflake

AVG

<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>

COUNT

COUNT

DENSE_RANK

<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>

FIRST_VALUE

<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 &#x3C;expr>.</code></em></p>

LAG

LAG

LAST_VALUE

<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 &#x3C;expr></code>.</em></p>

LEAD

<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>

NTH_VALUE

<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>

NTILE

<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>

PERCENT_RANK

<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>

PERCENTILE_CONT

<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>

PERCENTILE_DISC

PERCENTILE_DISC

RANK

RANK

ROW_NUMBER

<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>