SnowConvert AI – Redshift – Integrierte Funktionen

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. (Redshift SQL-Sprachreferenz – Aggregatfunktionen).

Redshift

Snowflake

ANY_VALUE ( [ DISTINCT

ALL ] expression )

AVG ( [ DISTINCT | ALL ] expression )

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/avg“>AVG</a> ( [ DISTINCT ] expression)</p><p></p><p><em>Anmerkungen: Redshift und Snowflake können aufgrund von Rundungen/Formatierungen des Datentyps unterschiedliche Genauigkeiten/Dezimalzahlen anzeigen.</em></p>

COUNT

COUNT

LISTAGG

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/listagg“>LISTAGG</a> </p><p></p><p><em>Anmerkungen: DISTINCT von Redshift ignoriert nachstehende Leerzeichen (‚a ‚ = ‚a‘); Bei Snowflake ist dies nicht der Fall. (Siehe</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

MAX

MAX

MEDIAN

<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 RedShift dies tut. (Siehe</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

MIN

MIN

PERCENTILE_CONT

PERCENTILE_CONT

STDDEV/STDDEV_SAMP ( [ DISTINCT

ALL ] expression)

STDDEV_POP ( [ DISTINCT

SUM

SUM

VARIANCE/VAR_SAMP ( [ DISTINCT

ALL ] expression)

VAR_POP ( [ DISTINCT

Array-Funktionen

Erstellt ein Array des SUPER-Datentyps. (Redshift SQL-Sprachreferenz – Array-Funktionen).

Redshift

Snowflake

ARRAY ( [ expr1 ] [ , expr2 [ , … ] ] )

ARRAY_CONSTRUCT

( [ <expr1> ] [ , <expr2> [ , … ] ] )

ARRAY_CONCAT ( super_expr1, super_expr2 )

ARRAY_CAT ( <array1> , <array2> )

ARRAY_FLATTEN

( super_expr1,super_expr2,.. )

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/array_flatten“>ARRAY_FLATTEN</a> ( &#x3C;array> ) </p><p></p><p><em>Anmerkungen: Die Ergebnisse können zwischen den Plattformen variieren (siehe</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

GET_ARRAY_LENGTH ( super_expr )

ARRAY_SIZE ( <array> | <variant>)

SPLIT_TO_ARRAY ( string,delimiter )

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/split“>SPLIT</a> (&#x3C;string>, &#x3C;separator>)</p><p></p><p><em>Anmerkungen: Redshift erlaubt fehlende Trennzeichen, in Snowflake sind sie erforderlich; die Standardeinstellung ist Komma</em></p>

SUBARRAY ( super_expr, start_position, length )

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/array_slice“>ARRAY_SLICE</a> ( &#x3C;array> , &#x3C;from> , &#x3C;to> )</p><p></p><p><em>Anmerkungen: Funktionsnamen und das zweite Argument unterscheiden sich; passen Sie die Argumente für Äquivalenzwecke an.</em></p>

Bedingte Ausdrücke

Redshift

Snowflake

DECODE

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/decode“>DECODE</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/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

COALESCE ( expression, expression, … )

COALESCE ( expression, expression, … )

GREATEST ( value [, …] )

GREATEST_IGNORE_NULLS ( <expr1> [, <expr2> … ] )

LEAST ( value [, …] )

LEAST_IGNORE_NULLS ( <expr1> [, <expr2> … ])

NVL( expression, expression, … )

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/nvl“><em>NVL</em></a> <em>( expression, expression )</em></p><p></p><p><em>Anmerkungen: NVL von Redshift akzeptiert mehrere Argumente; NVL von Snowflake akzeptiert nur zwei. Zum Anpassen an das Redshift-Verhalten wird NVL mit mehr als zwei Argumenten in COALESCE konvertiert.</em></p>

NVL2

NVL2

NULLIF

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/nullif“>NULLIF</a> </p><p></p><p><em>Anmerkungen: NULLIF von Redshift 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. (Redshift SQL-Sprachreferenz – Formatierungsfunktionen für Datentypen).

Redshift

Snowflake

TO_CHAR

<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=“../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI.md#ssc-ewi-0006“><em>SSC-EWI-0006</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>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 Redshift. 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=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/redshift/ssc-fdm-rs0004.md“><em>SSC-FDM-RS0004</em></a><em>,</em> <a href=“../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI.md#ssc-ewi-0006“><em>SSC-EWI-0006</em></a><em>,</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/general/ssc-fdm-0032.md“><em>SSC-FDM-0032</em></a><em>).</em></p>

Funktionen für Datum/Uhrzeit

Redshift

Snowflake

ADD_MONTHS

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/add_months“>ADD_MONTHS</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/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

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>Anmerkungen: In Redshift ist der Standardwert UTC; für die Snowflake-Funktion ist die explizite UTC-Spezifikation erforderlich. Daher wird sie als Zielzeitzone hinzugefügt.</em></p>

CONVERT_TIMEZONE

CONVERT_TIMEZONE

CURRENT_DATE

CURRENT_DATE()

DATE

DATE

DATEADD/DATE_ADD ( datepart, interval, {date | time | timetz | timestamp} )

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/dateadd“>DATE_ADD</a> ( &#x3C;date_or_time_part>, &#x3C;value>, &#x3C;date_or_time_expr> )</p><p></p><p><em>Anmerkungen: Ungültige Datumsteilformate werden in Snowflake-kompatible Formate übersetzt.</em></p>

DATEDIFF/DATE_DIFF

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/datediff“>DATEDIFF</a> </p><p></p><p><em>Anmerkungen: Ungültige Datumsteilformate werden in Snowflake-kompatible Formate übersetzt.</em></p>

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>Anmerkungen: Diese Funktion wird teilweise von Snowflake unterstützt. (Siehe</em> <a href=“../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI.md#ssc-ewi-0006“><em>SSC-EWI-OOO6</em></a><em>).</em></p>

DATE_PART_YEAR (date)

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/year“>YEAR</a> ( &#x3C;date_or_timestamp_expr> ) </p><p></p><p><em>Anmerkungen:</em> <em>Die Ergebnisse können zwischen Plattformen variieren (siehe</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</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>Anmerkungen: Ungültige Datumsteilformate werden in Snowflake-kompatible Formate übersetzt.</em> </p>

GETDATE()

GETDATE()

LAST_DAY

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/last_day“>LAST_DAY</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/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

NEXT_DAY

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/next_day“>NEXT_DAY</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/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

SYSDATE

SYSDATE()

TIMESTAMP

TO_TIMESTAMP

TRUNC

TRUNC

EXTRACT

<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

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

Hashfunktionen

Eine Hash-Funktion ist eine mathematische Funktion, die einen numerischen Eingabewert in einen anderen Wert umwandelt. (Redshift SQL-Sprachreferenz – Hash-Funktionen).

Redshift

Snowflake

FNV_HASH (value [, seed])

HASH ( <expr> [ , <expr> … ]

JSON-Funktionen

Redshift

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>Anmerkungen:</em> </p><ol><li><em>Redshift 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

Redshift

Snowflake

ACOS

ACOS

ASIN

ASIN

ATAN

ATAN

ATAN2

ATAN2

CBRT

CBRT

CEIL/CEILING

CEIL

COS

COS

COT

COT

DEGREES

DEGREES

DEXP

EXP

DLOG1/LN

LN

DLOG10 (number)

LOG (10, number)

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

Bemerkung

Redshift- und Snowflake-Ergebnisse können sich in Bezug auf die Skalierung unterscheiden.

Zeichenfolgenfunktionen

Zeichenfolgenfunktionen verarbeiten und bearbeiten Zeichenfolgen oder Ausdrücke, die Zeichenfolgen ergeben. (Redshift SQL-Sprachreferenz – Zeichenfolgenfunktionen).

Redshift

Snowflake

ASCII

ASCII

BTRIM

TRIM

CHAR_LENGTH

LENGTH

CHARACTER_LENGTH

LENGTH

CHARINDEX

CHARINDEX

CHR

CHR

CONCAT

CONCAT

INITCAP

INITCAP

LEFT/RIGHT

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/left“>LEFT</a>/<a href=“https://docs.snowflake.com/en/sql-reference/functions/right“>RIGHT</a> </p><p></p><p><em>Anmerkungen: Für negative Längen in <code>LEFT</code>/<code>RIGHT</code> gibt Snowflake eine leere Zeichenfolge zurück; Redshift löst einen Fehler aus.</em></p>

LEN

LEN

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>Anmerkungen:</em> <em>Die Ergebnisse können zwischen den Plattformen variieren (siehe</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresql/ssc-fdm-pg0013.md“>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>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/general/ssc-fdm-0032.md“><em>SC-FDM-0032</em></a><em>,</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresql/ssc-fdm-pg0011.md“><em>SSC-FDM- PG0011</em></a><em>).</em></p>

REPEAT

REPEAT

REPLACE

REPLACE

REPLICATE

REPEAT

REVERSE

REVERSE

SOUNDEX

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/soundex“>SOUNDEX</a> </p><p></p><p><em>Anmerkungen: Bei bestimmten Sonderzeichen können die Ergebnisse zwischen Plattformen variieren (siehe</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

SPLIT_PART

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/split_part“>SPLIT_PART</a> </p><p></p><p><em>Anmerkungen: Snowflake und Redshift handhaben SPLIT_PART bei Sortierungen ohne Berücksichtigung der Groß-/Kleinschreibung unterschiedlich.</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>Anmerkungen:</em> Snowflake unterstützt diese Funktion teilweise. <code>SUBSTRING</code> von Redshift 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. (Siehe <a href=“../../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/redshift/ssc-ewi-rs0006.md“>SSC-EWI-RS0006</a>).</p>

TEXTLEN

LENGTH

TRANSLATE

TRANSLATE

TRIM

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/trim“><em>TRIM</em></a> </p><p></p><p><em>Anmerkungen: Redshift verwendet Schlüsselwörter (BOTH, LEADING, TRAILING) zum Kürzen; Snowflake verwendet TRIM, LTRIM, RTRIM.</em></p>

UPPER

UPPER

Informationsfunktionen für SUPER-Typ

Redshift

Snowflake

IS_ARRAY

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/is_array“>IS_ARRAY</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/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

IS_BOOLEAN

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/is_boolean“>IS_BOOLEAN</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/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

Fensterfunktionen

Redshift

Snowflake

AVG

<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 Redshift und Snowflake variieren.</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>Anmerkungen: ORDER BY ist in Snowflake obligatorisch; fehlende Klauseln werden durch <code>ORDER BY 1</code> ersetzt.</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>Anmerkungen: Snowflake benötigt ORDER BY; fehlende Klauseln erhalten <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>Anmerkungen: Snowflake benötigt ORDER BY; fehlende Klauseln erhalten <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>Anmerkungen: Redshift erlaubt Offsets für Konstanten oder Ausdrücke; Snowflake erlaubt nur Offset</em>s für Konstanten.</p>

LISTAGG

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/listagg“>LISTAGG</a> </p><p></p><p><em>Anmerkungen: DISTINCT von Redshift ignoriert nachstehende Leerzeichen (‚a ‚ = ‚a‘); Bei Snowflake ist dies nicht der Fall. (Siehe</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

MEDIAN

<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 RedShift dies tut. (Siehe</em> <a href=“../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</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>Anmerkungen: ORDER BY ist in Snowflake obligatorisch; fehlende Klauseln werden durch <code>ORDER BY 1</code> ersetzt.</em></p>

NTILE

<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/postgresql/ssc-fdm-pg0013.md“>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>Anmerkungen: ORDER BY ist in Snowflake obligatorisch; fehlende Klauseln werden durch <code>ORDER BY 1</code> ersetzt.</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>Anmerkungen: Das Runden variiert zwischen den Plattformen.</em></p>

PERCENTILE_DISC

PERCENTILE_DISC

RANK

RANK

RATIO_TO_REPORT

<p><a href=“https://docs.snowflake.com/en/sql-reference/functions/ratio_to_report“>RATIO_TO_REPORT</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/postgresql/ssc-fdm-pg0013.md“>SSC-FDM-PG0013</a><em>).</em></p>

ROW_NUMBER

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

STDDEV_SAMP

STDDEV

VAR_SAMP

VARIANCE

Bekannte Probleme

  1. Weitere Informationen zu Bezeichnern in Anführungszeichen in Funktionen finden Sie hier.

IDENTITY

Beschreibung

Die Funktion IDENTITY ist eine Systemfunktion, die auf eine bestimmte Spalte einer Tabelle wirkt, um den Anfangswert für die Identität zu bestimmen. Wenn der Anfangswert nicht verfügbar ist, wird standardmäßig der in der Funktion angegebene Wert verwendet. Dies wird in eine Sequenz in Snowflake übersetzt.

Grammatikalische Syntax

 "identity"(oid_id, oid_table_id, default)
Copy

Bemerkung

Diese Funktion wird in Redshift nicht mehr unterstützt. Sie verwendet den Standardwert, um die Identität zu definieren und verhält sich wie eine Standard-Identitätsspalte.

Beispielhafte Quellcode-Muster

Eingabecode:

Redshift
 CREATE TABLE IF NOT EXISTS table_test
(
    id integer,
    inventory_combo BIGINT  DEFAULT "identity"(850178, 0, '5,3'::text)
);

INSERT INTO table_test (id) VALUES
    (1),
    (2),
    (3),
    (4);

SELECT * FROM table_test;
Copy
Ergebnisse

id

inventory_combo

1

5

2

8

3

11

3

14

Ausgabecode:

Snowflake
 CREATE TABLE IF NOT EXISTS table_test
(
    id integer,
    inventory_combo BIGINT IDENTITY(5,3) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "11/13/2024",  "domain": "test" }}';

INSERT INTO table_test (id) VALUES
    (1),
    (2),
    (3),
    (4);

SELECT * FROM
    table_test;
Copy
Ergebnisse

id

inventory_combo

1

5

2

8

3

11

3

14

Zugehörige EWIs

Es gibt keine bekannten Probleme.

TO_CHAR

Datumsfunktion

Beschreibung

TO_CHAR konvertiert einen Zeitstempel oder numerischen Ausdruck in ein Zeichenfolgen-Datenformat. ([Redshift SQL-Referenz: TO_CHAR-Funktion](https://docs.aws.amazon.com/redshift/latest/dg/r_TO_CHAR. html))

Warnung

Diese Funktion wird in Snowflake teilweise unterstützt.

Weitere Informationen über zitierte Bezeichner in Funktionen finden Sie unter hier.

Grammatikalische Syntax

 TO_CHAR(timestamp_expression | numeric_expression , 'format')
Copy

Beispielhafte Quellcode-Muster

Eingabecode:

Redshift

 SELECT TO_CHAR(timestamp '2009-12-31 23:15:59', 'YYYY'),
       TO_CHAR(timestamp '2009-12-31 23:15:59', 'YYY'),
       TO_CHAR(timestamp '2009-12-31 23:15:59', 'TH'),
       "to_char"(timestamp '2009-12-31 23:15:59', 'MON-DY-DD-YYYY HH12:MIPM'),
       TO_CHAR(125.8, '999.99'),
       "to_char"(125.8, '999.99');
Copy
Ergebnisse

TO_CHAR

TO_CHAR

TO_CHAR

TO_CHAR

TO_CHAR

2009

009

DEC-THU-31-2009 11:15PM

125,80

125,80

Ausgabecode:

Snowflake
 SELECT
       TO_CHAR(timestamp '2009-12-31 23:15:59', 'YYYY'),
       PUBLIC.YEAR_PART_UDF(timestamp '2009-12-31 23:15:59', 3),
       TO_CHAR(timestamp '2009-12-31 23:15:59', 'TH') !!!RESOLVE EWI!!! /*** SSC-EWI-0006 - TH FORMAT MAY FAIL OR MAY HAVE A DIFFERENT BEHAVIOR IN SNOWFLAKE. ***/!!!,
       PUBLIC.MONTH_SHORT_UDF(timestamp '2009-12-31 23:15:59', 'uppercase') || '-' || PUBLIC.DAYNAME_SHORT_UDF(timestamp '2009-12-31 23:15:59', 'uppercase') || TO_CHAR(timestamp '2009-12-31 23:15:59', '-DD-YYYY HH12:MI') || PUBLIC.MERIDIAN_INDICATORS_UDF(timestamp '2009-12-31 23:15:59', 'uppercase'),
       TO_CHAR(125.8, '999.99'),
       TO_CHAR(125.8, '999.99');
Copy
Ergebnisse

TO_CHAR

TO_CHAR

2009

Dec-Thu-31-2009 11:15PM

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

  • SSC-EWI-0006: Das aktuelle Datumsformat/numerische Format weist in Snowflake möglicherweise ein anderes Verhalten auf.

Für Datetimes-Werte

Übersetzungsspezifikation für die TO_CHAR-Funktion bei der Umwandlung von Datums- oder Zeitstempelwerten in eine Zeichenfolge

Beschreibung

Die folgenden Formatzeichenfolgen gelten für Funktionen wie TO_CHAR. Diese Zeichenfolgen können Datetime-Trennzeichen enthalten (z. B. „-“, „/“, oder „:“) und die folgenden „dateparts“ und „timeparts“. (Redshift-Referenzseite Datetime-Formatzeichenfolgen)

Grammatikalische Syntax

TO_CHAR (timestamp_expression, 'format')

Copy

In der folgenden Tabelle finden Sie die Zuordnung der einzelnen Formatelemente zu Snowflake:

Redshift

Snowflake

BC, AD, bc, ad (Groß- und Kleinbuchstaben als Ära-Indikatoren)

PUBLIC.ERA_INDICATORS_UDF

B.C.,. A.D., b.c., a.d. (Groß- und Kleinbuchstaben Ära-Indikatoren mit Punkten)

PUBLIC.ERA_INDICATORS_WITH_POINTS_UDF

CC

PUBLIC.CENTURY_UDF

YYYY und YY

Direkt unterstützt

YYY und Y

PUBLIC.YEAR_PART_UDF

Y,YYY

PUBLIC.YEAR_WITH_COMMA_UDF

IYYY

YEAROFWEEKISO

I, IY, IYY

PUBLIC.ISO_YEAR_PART_UDF

Q

QUARTER

MONTH, Month, month

PUBLIC.FULL_MONTH_NAME_UDF

MON, Mon, mon

PUBLIC.MONTH_SHORT_UDF

RM, rm

PUBLIC.ROMAN_NUMERALS_MONTH_UDF

W

PUBLIC.WEEK_OF_MONTH_UDF

WW

PUBLIC.WEEK_NUMBER_UDF

IW

WEEKISO

DAY, Day, day

PUBLIC.DAYNAME_LONG_UDF

DY, Dy, dy

PUBLIC.DAYNAME_SHORT_UDF

DDD

DAYOFYEAR

IDDD

PUBLIC.DAY_OF_YEAR_ISO_UDF

D

<p><code>PUBLIC.DAY_OF_WEEK_UDF</code> </p><p></p><p><em>Anmerkungen: Damit diese UDF ordnungsgemäß funktioniert, sollte für den Snowflake-Sitzungsparameter <code>WEEK_START</code> der Standardwert (<code>0</code>) eingestellt sein.</em></p>

ID

DAYOFWEEKISO

J

PUBLIC.JULIAN_DAY_UDF

HH24

Direkt unterstützt

HH

HH12

HH12

Direkt unterstützt

MI

Direkt unterstützt

SS

Direkt unterstützt

MS

FF3

US

FF6

AM, PM, am, pm (Groß- und Kleinbuchstaben-Meridianindikatoren)

PUBLIC.MERIDIAN_INDICATORS_UDF

A.M., P.M., a.m., p.m. (Groß- und Kleinschreibung der Meridianindikatoren mit Punkten)

PUBLIC.MERIDIAN_INDICATORS_WITH_POINTS_UDF

TZ und tz

<p><code>UTC</code> und <code>utc</code> </p><p></p><p><em>Anmerkungen: Laut der</em> <a href=“https://docs.aws.amazon.com/redshift/latest/dg/r_Datetime_types.html#r_Datetime_types-timestamptz“><em>Redshift-Dokumentation</em></a><em> werden alle Zeitstempel mit Zeitzone in UTC gespeichert, wodurch dieses Formatelement ein festes Ergebnis zurückgibt.</em></p>

OF

<p>+00 </p><p></p><p><em>Anmerkungen: Laut der</em> <a href=“https://docs.aws.amazon.com/redshift/latest/dg/r_Datetime_types.html#r_Datetime_types-timestamptz“><em>Redshift-Dokumentation</em></a><em> werden alle Zeitstempel mit Zeitzone in UTC gespeichert, wodurch dieses Formatelement ein festes Ergebnis zurückgibt.</em></p>

SSSS

PUBLIC.SECONDS_PAST_MIDNIGHT

SP

Anmerkungen: Dies ist ein PostgreSQL -Vorlagenmuster-Modifikator für den Rechtschreibmodus, in Redshift hat er jedoch keine Wirkung. Daher wird er aus der Ausgabe entfernt.

FX

Anmerkungen: Dies ist ein weiterer Vorlagenmuster-Modifikator für das feste Format, der jedoch für die TO_CHAR-Funktion keine Wirkung hat. Daher wird er entfernt.

Beispielhafte Quellcode-Muster

Direkte Transformation von Formatelementen (keine Funktionen/UDFs)

Das Ergebnis wird als eine einzige TO_CHAR-Funktion erhalten

Redshift
Abfrage
 SELECT TO_CHAR('2013-10-03 13:50:15.456871'::TIMESTAMP, 'DD/MM/YY HH:MI:SS.MS') AS col1;
Copy
Result
+----------------------+
|col1                  |
+----------------------+
|03/10/13 01:50:15.456 |
+----------------------+

Copy
Snowflake
Abfrage
 SELECT TO_CHAR('2013-10-03 13:50:15.456871'::TIMESTAMP, 'DD/MM/YY HH12:MI:SS.FF3') AS col1;
Copy
Result
+----------------------+
|col1                  |
+----------------------+
|03/10/13 01:50:15.456 |
+----------------------+

Copy

Formattransformation mit Funktionen/UDFs

Das Ergebnis ist eine Verkettung mehrerer TO_CHAR, UDFs und integrierter Snowflake-Funktionen, die die entsprechende Zeichenfolgendarstellung des Werts für Datum und Uhrzeit erzeugen

Redshift
Abfrage
 SELECT TO_CHAR(DATE '2025-07-05', '"Today is " Month DAY DD, "it belongs to the week " IW') AS result;
Copy
Result
+-------------------------------------------------------------+
|result                                                       |
+-------------------------------------------------------------+
|Today is  July      SATURDAY  05, it belongs to the week  27 |
+-------------------------------------------------------------+

Copy
Snowflake
Abfrage
 SELECT
    'Today is ' ||
    TO_CHAR(DATE '2025-07-05', ' ') ||
    PUBLIC.FULL_MONTH_NAME_UDF(DATE '2025-07-05', 'firstOnly') ||
    ' ' ||
    PUBLIC.DAYNAME_LONG_UDF(DATE '2025-07-05', 'uppercase') ||
    TO_CHAR(DATE '2025-07-05', ' DD, ') ||
    'it belongs to the week ' ||
    TO_CHAR(DATE '2025-07-05', ' ') ||
    WEEKISO(DATE '2025-07-05') AS result;
Copy
Result
+-------------------------------------------------------------+
|result                                                       |
+-------------------------------------------------------------+
|Today is  July      SATURDAY  05, it belongs to the week  27 |
+-------------------------------------------------------------+

Copy

Zitierter Text

Formatelemente in doppelten Anführungszeichen werden direkt in die Ausgabe eingefügt, ohne dass sie interpretiert werden, doppelte Anführungszeichen mit Escapezeichen werden in ihr Snowflake-Äquivalent umgewandelt.

Redshift
Abfrage
 SELECT
    TO_CHAR(DATE '2025-01-16', 'MM "TESTING DD" DD') AS result1,
    TO_CHAR(DATE '2025-01-16', 'MM TESTING \\"DD\\" DD') AS result2,
    TO_CHAR(DATE '2025-01-16', 'MM "TESTING \\"DD\\"" DD') AS result3;
Copy
Result
+-----------------+-------------------+-------------------+
|result1          |result2            |result3            |
+-----------------+-------------------+-------------------+
|01 TESTING DD 16 |01 TEST5NG "16" 16 |01 TESTING "DD" 16 |
+-----------------+-------------------+-------------------+

Copy
Snowflake
Abfrage
 SELECT
    TO_CHAR(DATE '2025-01-16', 'MM ') || 'TESTING DD' || TO_CHAR(DATE '2025-01-16', ' DD') AS result1,
    TO_CHAR(DATE '2025-01-16', 'MM TEST') || PUBLIC.ISO_YEAR_PART_UDF(DATE '2025-01-16', 1) || TO_CHAR(DATE '2025-01-16', 'NG ""DD"" DD') AS result2,
    TO_CHAR(DATE '2025-01-16', 'MM ') || 'TESTING "DD"' || TO_CHAR(DATE '2025-01-16', ' DD') AS result3;
Copy
Result
+-----------------+-------------------+-------------------+
|result1          |result2            |result3            |
+-----------------+-------------------+-------------------+
|01 TESTING DD 16 |01 TEST5NG "16" 16 |01 TESTING "DD" 16 |
+-----------------+-------------------+-------------------+

Copy

Bekannte Probleme

Vorlagenmuster-Modifikatoren nicht unterstützt

Die folgenden Formatvorlagen-Modifikatoren:

  • FM (Füllmodus)

  • TH und th (Suffix der Ordnungszahl in Groß- und Kleinbuchstaben)

  • TM (Übersetzungsmodus)

Werden nicht unterstützt; wenn sie in ein Format eingeschlossen werden, wird SSC-EWI-0006 generiert.

Eingabecode:

 SELECT TO_CHAR(CURRENT_DATE, 'FMMonth'),
TO_CHAR(CURRENT_DATE, 'DDTH'),
TO_CHAR(CURRENT_DATE, 'DDth'),
TO_CHAR(CURRENT_DATE, 'TMMonth');
Copy

Ausgabecode:

 SELECT
TO_CHAR(CURRENT_DATE(), 'FM') || PUBLIC.FULL_MONTH_NAME_UDF(CURRENT_DATE(), 'firstOnly') !!!RESOLVE EWI!!! /*** SSC-EWI-0006 - FMMonth FORMAT MAY FAIL OR MAY HAVE A DIFFERENT BEHAVIOR IN SNOWFLAKE. ***/!!!,
TO_CHAR(CURRENT_DATE(), 'DDTH') !!!RESOLVE EWI!!! /*** SSC-EWI-0006 - DDTH FORMAT MAY FAIL OR MAY HAVE A DIFFERENT BEHAVIOR IN SNOWFLAKE. ***/!!!,
TO_CHAR(CURRENT_DATE(), 'DDth') !!!RESOLVE EWI!!! /*** SSC-EWI-0006 - DDth FORMAT MAY FAIL OR MAY HAVE A DIFFERENT BEHAVIOR IN SNOWFLAKE. ***/!!!,
TO_CHAR(CURRENT_DATE(), 'TM') || PUBLIC.FULL_MONTH_NAME_UDF(CURRENT_DATE(), 'firstOnly') !!!RESOLVE EWI!!! /*** SSC-EWI-0006 - TMMonth FORMAT MAY FAIL OR MAY HAVE A DIFFERENT BEHAVIOR IN SNOWFLAKE. ***/!!!;
Copy

Parameter formatieren, der über die Variable übergeben wird

Wenn der Format-Parameter als Variable statt als String-Literal übergeben wird, kann die Transformation von Format-Elementen nicht angewandt werden. In den Verwendungen der Funktion wird eine FDM hinzugefügt, die darauf hinweist.

Eingabecode:

 SELECT TO_CHAR(d, 'YYYY/MM/DD'),
TO_CHAR(d, f)
FROM (SELECT TO_DATE('2001-01-01','YYYY-MM-DD') as d, 'DD/MM/YYYY' as f);
Copy

Ausgabecode:

 SELECT TO_CHAR(d, 'YYYY/MM/DD'),
--** SSC-FDM-0032 - PARAMETER 'format_string' IS NOT A LITERAL VALUE, TRANSFORMATION COULD NOT BE FULLY APPLIED **
TO_CHAR(d, f)
FROM (SELECT TO_DATE('2001-01-01','YYYY-MM-DD') as d, 'DD/MM/YYYY' as f);
Copy

Zugehörige EWIs

  1. SSC-EWI-0006: Das aktuelle Datumsformat/numerische Format weist in Snowflake möglicherweise ein anderes Verhalten auf.

  2. [SSC-FDM-0032](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM. md#ssc-fdm-0032): Parameter ist kein Literalwert, Transformation konnte nicht vollständig angewendet werden