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> |
|
Notes: this function is partially supported by Snowflake. (See SSC-EWI-PG0005). |
|
<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
PostgreSQL timestamps default to microsecond precision (6 digits); Snowflake defaults to nanosecond precision (9 digits). Adjust precision as needed using ALTER SESSION (for example, ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF2';). Precision loss may occur depending on the data type used.
Since some formats are incompatible with Snowflake, adjusting the account parameters DATE_INPUT_FORMAT or TIME_INPUT_FORMAT might maintain functional equivalence between platforms.
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¶
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, ‚“‘) |
Notes: This function includes a |
|
<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> |