SnowConvert AI – PostgreSQL – Integrierte Funktionen¶
Gilt für:¶
PostgreSQL
Greenplum
Netezza
Bemerkung
Weitere Informationen zu integrierten Funktionen und ihren Snowflake-Äquivalenten finden Sie auch unter Allgemeine integrierte Funktionen.
Aggregatfunktionen¶
Aggregatfunktionen berechnen einen einzelnen Ergebniswert aus einer Menge von Eingabewerten. (PostgreSQL-Sprachreferenz – Aggregatfunktionen).
PostgreSQL |
Snowflake |
|---|---|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/avg“>AVG</a></p><p></p><p><em>Anmerkungen:</em> PostgreSQL <em>und Snowflake können aufgrund von Rundungen/Formatierungen des Datentyps unterschiedliche Genauigkeiten/Dezimalzahlen anzeigen.</em></p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/median“>MEDIAN</a> </p><p></p><p><em>Anmerkungen<strong>: Snowflake erlaubt nicht die Verwendung von Datumstypen</strong>, während</em> PostgreSQL <em>dies tut. (Siehe</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) |
Bedingte Ausdrücke¶
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>Anmerkungen: NULLIF von PostgreSQL ignoriert im Gegensatz zu Snowflake bei einigen Zeichenfolgenvergleichen nachstehende Leerzeichen. Daher fügt die Transformation zu Äquivalenzzwecken RTRIM hinzu.</em></p> |
Formatierungsfunktionen für Datentypen¶
Formatierungsfunktionen für Datentypen bieten eine einfache Möglichkeit, Werte von einem Datentyp in einen anderen zu konvertieren. Für jede dieser Funktionen ist das erste Argument immer der zu formatierende Wert und das zweite Argument enthält die Vorlage für das neue Format. (PostgreSQL-Sprachreferenz – Formatierungsfunktionen für Datentypen).
PostgreSQL |
Snowflake |
|---|---|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/to_char“>TO_CHAR</a> </p><p></p><p><em>Anmerkungen: Snowflake unterstützt diese Funktion nur teilweise (siehe</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>Anmerkungen: <code>TO_DATE</code> von Snowflake schlägt bei ungültigen Daten wie „20010631“ (der Juni hat 30 Tage) fehl, im Gegensatz zum weniger rigiden <code>TO_DATE</code> von </em> PostgreSQL‘<em>. Verwenden Sie <code>TRY_TO_DATE</code> in Snowflake, um diese Fälle durch die Rückgabe von NULL zu handhaben (siehe</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> |
Funktionen für Datum/Uhrzeit¶
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>Anmerkungen:</em> PostgreSQL <em> nutzt den Standardwert UTC; bei der Snowflake-Funktion muss UTC explizit angegeben werden. Daher wird sie als Zielzeitzone hinzugefügt.</em></p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/date_part“>DATE_PART</a> </p><p></p><p><em>Anmerkungen: Diese Funktion wird teilweise von Snowflake unterstützt. (Siehe</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>Anmerkungen: Ungültige Datumsteilformate werden in Snowflake-kompatible Formate übersetzt.</em> </p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/extract“>EXTRACT</a><br><br><em>Anmerkungen:</em> Teilzeit oder Datumszeit unterstützt: DAY, DOW, DOY, EPOCH, HOUR, MINUTE, MONTH, QUARTER, SECOND, WEEK, YEAR. </p> |
|
Bemerkung
Die PostgreSQL-Zeitstempel werden standardmäßig mit Mikrosekundengenauigkeit (6 Stellen) angezeigt; Snowflake verwendet standardmäßig eine Nanosekundengenauigkeit (9 Stellen). Passen Sie die Genauigkeit nach Bedarf mit ALTER SESSION an (z. B. ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF2';). Je nach verwendetem Datentyp kann ein Genauigkeitsverlust auftreten.\ \ Da einige Formate nicht mit Snowflake kompatibel sind, kann durch eine Anpassung der Kontoparameter DATE_INPUT_FORMAT oder TIME_INPUT_FORMAT die funktionale Äquivalenz zwischen den Plattformen beibehalten werden.
JSON-Funktionen¶
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>Anmerkungen:</em> </p><ol><li>PostgreSQL <em>behandelt Zeilenumbruch-, Tabulator- und Wagenrücklaufzeichen literal; Snowflake interpretiert sie.</em></li><li><em>Ein JSON-Literal und ein durch Punkte getrennter Pfad sind erforderlich, um auf verschachtelte Objekte in der Snowflake-Funktion zugreifen zu können.</em></li><li><em>Pfade mit Leerzeichen in Variablen müssen in Anführungszeichen gesetzt werden.</em></li></ol> |
Mathematische Funktionen¶
PostgreSQL |
Snowflake |
|---|---|
Bemerkung
PostgreSQL- und Snowflake-Ergebnisse können sich in Bezug auf die Skalierung unterscheiden.
Zeichenfolgenfunktionen¶
Zeichenfolgenfunktionen verarbeiten und bearbeiten Zeichenfolgen oder Ausdrücke, die Zeichenfolgen ergeben. (PostgreSQL-Sprachreferenz – Zeichenfolgenfunktionen).
PostgreSQL |
Snowflake |
|---|---|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/octet_length“>OCTET_LENGTH</a> </p><p></p><p><em>Anmerkungen:</em> <em>Die Ergebnisse können zwischen den Plattformen variieren (siehe</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>Anmerkungen: Diese Funktion beinhaltet ein <code>parameters</code>-Argument, das es Benutzenden ermöglicht, das Muster mit dem Perl Compatible Regular Expression(PCRE)-Dialekt zu interpretieren, dargestellt durch den <code>p</code>-Wert; dieser wird entfernt, um Probleme zu vermeiden</em>. <em>(Siehe</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>Anmerkungen: Snowflake und</em> PostgreSQL <em>handhaben SPLIT_PART bei Sortierungen ohne Berücksichtigung der Groß-/Kleinschreibung unterschiedlich.</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>Anmerkungen:</em> Snowflake unterstützt diese Funktion teilweise. <code>SUBSTRING</code> von PostgreSQL mit einem nicht-positiven Wert für <code>start_position</code> berechnet <code>start_position + number_characters</code> (gibt ‚‘ zurück, wenn das Ergebnis nicht positiv ist). Das Verhalten von Snowflake ist anders.</p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/trim“><em>TRIM</em></a> </p><p></p><p><em>Anmerkungen:</em> PostgreSQL <em>verwendet Schlüsselwörter (BOTH, LEADING, TRAILING) zum Kürzen; Snowflake verwendet TRIM, LTRIM, RTRIM.</em></p> |
|
Fensterfunktionen¶
PostgreSQL |
Snowflake |
|---|---|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/avg“><em>AVG</em></a> </p><p></p><p><em>Anmerkungen: Die AVG-Rundung/Formatierung kann je nach Datentyp zwischen </em> PostgreSQL <em>und Snowflake variieren.</em></p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/dense_rank“>DENSE_RANK</a> </p><p></p><p><em>Anmerkungen: ORDER BY ist in Snowflake obligatorisch; fehlende Klauseln werden durch <code>ORDER BY 1</code> ersetzt.</em></p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/first_value“>FIRST_VALUE</a> </p><p></p><p><em>Anmerkungen: Snowflake benötigt ORDER BY; fehlende Klauseln erhalten <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>Anmerkungen: Snowflake benötigt ORDER BY; fehlende Klauseln erhalten <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>Anmerkungen:</em> PostgreSQL <em>erlaubt Offsets für Konstanten oder Ausdrücke; Snowflake erlaubt nur Offset</em>s für Konstanten.</p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/nth_value“>NTH_VALUE</a> </p><p></p><p><em>Anmerkungen: ORDER BY ist in Snowflake obligatorisch; fehlende Klauseln werden durch <code>ORDER BY 1</code> ersetzt.</em></p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/ntile“>NTILE</a> </p><p></p><p><em>Anmerkungen: ORDER BY ist in Snowflake obligatorisch; fehlende Klauseln werden durch <code>ORDER BY 1</code> ersetzt. (Siehe</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>Anmerkungen: ORDER BY ist in Snowflake obligatorisch; fehlende Klauseln werden durch <code>ORDER BY 1</code> ersetzt.</em></p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/percentile_cont“>PERCENTILE_CONT</a> </p><p></p><p><em>Anmerkungen: Das Runden variiert zwischen den Plattformen.</em></p> |
|
<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/row_number“>ROW_NUMBER</a> </p><p></p><p>A<em>nmerkungen: ORDER BY ist in Snowflake obligatorisch; fehlende Klauseln werden durch <code>ORDER BY 1</code> ersetzt.</em></p> |