SnowConvert AI – Redshift – Bedingungen¶
BETWEEN¶
Beschreibung¶
Eine
BETWEENBedingung testet Ausdrücke mit den SchlüsselwörternBETWEENundANDauf die Aufnahme in einen Wertebereich. (Redshift SQL-Referenz: BETWEEN-Bedingung)
Grammatikalische Syntax¶
Hinweis
Diese Funktion wird von Snowflake vollständig unterstützt.
Beispielhafte Quellcode-Muster¶
Tabellenkonfiguration¶
Redshift¶
Snowflake¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
Anzahl (count) |
|---|
8 |
id |
Preis (price) |
Abteilungs-ID (departmentid) |
Verkaufsdatum (saledate) |
|---|---|---|---|
id |
Preis (price) |
Abteilungs-ID (departmentid) |
Verkaufsdatum (saledate) |
|---|---|---|---|
1 |
5000 |
1 |
2008-01-01 |
2 |
8000 |
1 |
2018-01-01 |
3 |
5000 |
2 |
2010-01-01 |
4 |
7000 |
3 |
2010-01-01 |
5 |
5000 |
1 |
2018-01-01 |
6 |
4000 |
4 |
2010-01-01 |
7 |
3000 |
4 |
2018-01-01 |
8 |
9000 |
5 |
2008-01-01 |
9 |
7000 |
5 |
2018-01-01 |
10 |
6000 |
5 |
2006-01-01 |
11 |
5000 |
5 |
2008-01-01 |
12 |
5000 |
4 |
2018-01-01 |
13 |
8000 |
3 |
2006-01-01 |
14 |
7000 |
3 |
2016-01-01 |
15 |
2000 |
2 |
2018-01-01 |
id |
Preis (price) |
Abteilungs-ID (departmentid) |
Verkaufsdatum (saledate) |
|---|---|---|---|
3 |
5000 |
2 |
2010-01-01 |
4 |
7000 |
3 |
2010-01-01 |
6 |
4000 |
4 |
2010-01-01 |
14 |
7000 |
3 |
2016-01-01 |
Ausgabecode:¶
Snowflake¶
Ergebnisse¶
Anzahl (count) |
|---|
8 |
id |
Preis (price) |
Abteilungs-ID (departmentid) |
Verkaufsdatum (saledate) |
|---|---|---|---|
id |
Preis (price) |
Abteilungs-ID (departmentid) |
Verkaufsdatum (saledate) |
|---|---|---|---|
1 |
5000 |
1 |
2008-01-01 |
2 |
8000 |
1 |
2018-01-01 |
3 |
5000 |
2 |
2010-01-01 |
4 |
7000 |
3 |
2010-01-01 |
5 |
5000 |
1 |
2018-01-01 |
6 |
4000 |
4 |
2010-01-01 |
7 |
3000 |
4 |
2018-01-01 |
8 |
9000 |
5 |
2008-01-01 |
9 |
7000 |
5 |
2018-01-01 |
10 |
6000 |
5 |
2006-01-01 |
11 |
5000 |
5 |
2008-01-01 |
12 |
5000 |
4 |
2018-01-01 |
13 |
8000 |
3 |
2006-01-01 |
14 |
7000 |
3 |
2016-01-01 |
15 |
2000 |
2 |
2018-01-01 |
id |
Preis (price) |
Abteilungs-ID (departmentid) |
Verkaufsdatum (saledate) |
|---|---|---|---|
3 |
5000 |
2 |
2010-01-01 |
4 |
7000 |
3 |
2010-01-01 |
6 |
4000 |
4 |
2010-01-01 |
14 |
7000 |
3 |
2016-01-01 |
Bekannte Probleme ¶
Es wurden keine Probleme gefunden.
Vergleichsbedingung¶
Bedingungen
Beschreibung ¶
Vergleichsbedingungen geben logische Beziehungen zwischen zwei Werten an. Alle Vergleichsbedingungen sind binäre Operatoren mit einem booleschen Rückgabetyp.
Grammatikalische Syntax ¶
Redshift unterstützt die in der folgenden Tabelle beschriebenen Vergleichsoperatoren:
| Operator | Syntax | Description |
|---|---|---|
| < | a < b | Value a is less than value b. |
| > | a > b | Value a is greater than value b. |
| <= | a <= b | Value a is less than or equal to value b. |
| >= | a >= b | Value a is greater than or equal to value b. |
| = | a = b | Value a is equal to value b. |
| <> | != | a <> b | a != b | Value a is not equal to value b. |
| ANY | SOME | a = ANY(subquery) | Value a is equal to any value returned by the subquery. |
| ALL | a <> ALL or != ALL (subquery) | Value a is not equal to any value returned by the subquery. |
| IS TRUE | FALSE | UNKNOWN | a IS TRUE | Value a is Boolean TRUE. |
Verwendung von Vergleichsoperatoren für Zeichenfolgen¶
Es ist wichtig zu wissen, dass in Redshift Vergleichsoperatoren für Zeichenfolgen nachstehende Leerzeichen ignorieren. Um diese Verhaltensweise in Snowflake nachzubilden, wendet die Transformation die Funktion RTRIM an, um nachstehende Leerzeichen zu entfernen und so eine gleichwertige Funktionalität zu gewährleisten. Für weitere Informationen: Bedeutung der nachstehenden Leerzeichen
Umrechnungstabelle¶
Die meisten der Operatoren werden direkt von Snowflake unterstützt; die folgenden Operatoren erfordern jedoch eine Transformation:
| Redshift | Snowflake | Comments |
|---|---|---|
| (expression) IS TRUE | expression | Condition is TRUE. |
| (expression) IS FALSE | NOT (expression) | Condition is FALSE. |
| (expression) IS UNKNOWN | expression IS NULL | Expression evaluates to NULL (same as UNKNOWN). |
Beispielhafte Quellcode-Muster¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
3 |
40 |
null |
C |
5 |
60 |
false |
B |
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
4 |
70 |
true |
A |
id |
value |
Status |
category |
|---|---|---|---|
3 |
40 |
null |
C |
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
4 |
70 |
true |
A |
id |
value |
Status |
category |
|---|---|---|---|
2 |
30 |
false |
B |
4 |
40 |
null |
C |
5 |
60 |
false |
B |
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
4 |
70 |
true |
A |
id |
value |
Status |
category |
|---|---|---|---|
2 |
30 |
false |
B |
5 |
60 |
false |
B |
id |
value |
Status |
category |
|---|---|---|---|
4 |
40 |
null |
C |
Ausgabecode:
Snowflake¶
Ergebnisse¶
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
3 |
40 |
null |
C |
5 |
60 |
false |
B |
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
4 |
70 |
true |
A |
id |
value |
Status |
category |
|---|---|---|---|
3 |
40 |
null |
C |
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
4 |
70 |
true |
A |
id |
value |
Status |
category |
|---|---|---|---|
2 |
30 |
false |
B |
4 |
40 |
null |
C |
5 |
60 |
false |
B |
id |
value |
Status |
category |
|---|---|---|---|
1 |
50 |
true |
A |
4 |
70 |
true |
A |
id |
value |
Status |
category |
|---|---|---|---|
2 |
30 |
false |
B |
5 |
60 |
false |
B |
id |
value |
Status |
category |
|---|---|---|---|
4 |
40 |
null |
C |
Bekannte Probleme¶
Es wurden keine Probleme gefunden.
Zugehörige EWIs¶
Es gibt keine bekannten Probleme.
EXISTS¶
Beschreibung¶
EXISTS-Bedingungen testen auf die Existenz von Zeilen in einer Unterabfrage und geben „true“ zurück, wenn eine Unterabfrage mindestens eine Zeile zurückgibt. Wenn NOT angegeben ist, gibt die Bedingung „true“ zurück, wenn eine Unterabfrage keine Zeilen liefert. (Redshift SQL-Referenz: EXISTS-Bedingung)
Grammatikalische Syntax¶
Hinweis
Diese Funktion wird von Snowflake vollständig unterstützt.
Beispielhafte Quellcode-Muster¶
Tabellenkonfiguration¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
ID |
NAME |
LASTNAME |
|---|---|---|
1 |
name1 |
lastname1 |
2 |
name2 |
NULL |
3 |
name3 |
lastname3 |
4 |
name4 |
NULL |
Ausgabecode:¶
Snowflake¶
Ergebnisse¶
ID |
NAME |
LASTNAME |
|---|---|---|
1 |
name1 |
lastname1 |
2 |
name2 |
NULL |
3 |
name3 |
lastname3 |
4 |
name4 |
NULL |
Zugehörige EWIs¶
Keine zugehörigen EWIs.
Bekannte Probleme ¶
Es wurden keine Probleme gefunden.
IN¶
Beschreibung¶
Eine IN-Bedingung testet einen Wert auf Zugehörigkeit zu einer Gruppe von Werten oder zu einer Unterabfrage. (Redshift SQL-Referenz: IN-Bedingung)
Grammatikalische Syntax¶
Hinweis
Diese Funktion wird von Snowflake vollständig unterstützt.
Beispielhafte Quellcode-Muster¶
Tabellenkonfiguration¶
Redshift¶
Snowflake¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
ID |
PRICE |
SALEDATE |
|---|---|---|
2 |
4000 |
2024-12-18 |
3 |
2000 |
2024-12-17 |
VALIDID |
|---|
TRUE |
R1 |
R2 |
|---|---|
TRUE |
FALSE |
TRUE |
TRUE |
Ausgabecode:¶
Snowflake¶
Ergebnisse¶
ID |
PRICE |
SALEDATE |
|---|---|---|
2 |
4000 |
2024-12-18 |
3 |
2000 |
2024-12-17 |
VALIDID |
|---|
TRUE |
R1 |
R2 |
|---|---|
TRUE |
FALSE |
TRUE |
TRUE |
Zugehörige EWIs¶
Keine zugehörigen EWIs.
Bekannte Probleme ¶
Es wurden keine Probleme gefunden.
Logische Bedingungen¶
Beschreibung ¶
Logische Bedingungen kombinieren das Ergebnis von zwei Bedingungen zu einem einzigen Ergebnis. Alle logischen Bedingungen sind binäre Operatoren mit einem booleschen Rückgabetyp. (Redshift SQL-Referenz: Logische Bedingungen).
Hinweis
Diese Grammatik wird in Snowflake vollständig unterstützt.
Grammatikalische Syntax ¶
E1 |
E2 |
E1 AND E2 |
E1 OR E2 |
NOT E2 |
|---|---|---|---|---|
TRUE |
TRUE |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
TRUE |
TRUE |
UNKNOWN |
UNKNOWN |
TRUE |
UNKNOWN |
FALSE |
TRUE |
FALSE |
TRUE |
|
FALSE |
FALSE |
FALSE |
FALSE |
|
FALSE |
UNKNOWN |
FALSE |
UNKNOWN |
|
UNKNOWN |
TRUE |
UNKNOWN |
TRUE |
|
UNKNOWN |
FALSE |
FALSE |
UNKNOWN |
|
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
Beispielhafte Quellcode-Muster¶
Datenkonfiguration¶
Redshift¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
| EMPLOYEE_ID | IS_ACTIVE_ENGINEERING | HR_OR_HIGH_SALARY | IS_INACTIVE | HIRE_DATE_MISSING | LOW_SALARY_OR_NO_SALARY |
|---|---|---|---|---|---|
| 1 | TRUE | TRUE | FALSE | FALSE | FALSE |
| 2 | FALSE | TRUE | TRUE | FALSE | FALSE |
| 3 | FALSE | FALSE | NULL | FALSE | FALSE |
| 4 | TRUE | TRUE | FALSE | TRUE | FALSE |
| 5 | FALSE | NULL | FALSE | FALSE | TRUE |
Ausgabecode:
Snowflake¶
Ergebnisse¶
| EMPLOYEE_ID | IS_ACTIVE_ENGINEERING | HR_OR_HIGH_SALARY | IS_INACTIVE | HIRE_DATE_MISSING | LOW_SALARY_OR_NO_SALARY |
|---|---|---|---|---|---|
| 1 | TRUE | TRUE | FALSE | FALSE | FALSE |
| 2 | FALSE | TRUE | TRUE | FALSE | FALSE |
| 3 | FALSE | FALSE | NULL | FALSE | FALSE |
| 4 | TRUE | TRUE | FALSE | TRUE | FALSE |
| 5 | FALSE | NULL | FALSE | FALSE | TRUE |
Bekannte Probleme¶
Es wurden keine Probleme gefunden.
Zugehörige EWIs¶
Es gibt keine bekannten Probleme.
NULL¶
Beschreibung¶
Die Null-Bedingung testet auf Nullen, wenn ein Wert fehlt oder unbekannt ist. (Redshift SQL-Referenz: NULL-Bedingung)
Grammatikalische Syntax¶
Hinweis
Diese Funktion wird von Snowflake vollständig unterstützt.
Beispielhafte Quellcode-Muster¶
Tabellenkonfiguration¶
Redshift¶
Snowflake¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
ID |
NAME |
LASTNAME |
|---|---|---|
2 |
name2 |
NULL |
4 |
name4 |
NULL |
Ausgabecode:¶
Snowflake¶
Ergebnisse¶
ID |
NAME |
LASTNAME |
|---|---|---|
2 |
name2 |
NULL |
4 |
name4 |
NULL |
Bekannte Probleme ¶
Es wurden keine Probleme gefunden.
Zugehörige EWIs¶
Keine zugehörigen EWIs.
Bedingungen für Musterabgleiche¶
Beschreibung ¶
Ein Operator für die Musterabgleiche durchsucht eine Zeichenfolge nach einem im bedingten Ausdruck angegebenen Muster und gibt je nachdem, ob er eine Übereinstimmung findet, „true“ oder „false“ zurück. Amazon Redshift verwendet drei Methoden für den Mustervergleich:
LIKE-Ausdrücke Der Operator LIKE vergleicht einen Zeichenfolgen-Ausdruck, z. B. einen Spaltennamen, mit einem Muster, das die Platzhalterzeichen
%(Prozent) und_(Unterstrich) verwendet. Der LIKE-Musterabgleich deckt immer die gesamte Zeichenfolge ab. LIKE führt einen Abgleich unter Berücksichtigung der Groß- und Kleinschreibung durch und ILIKE einen Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung.SIMILAR TO-reguläre Ausdrücke Der Operator SIMILAR TO gleicht einen Zeichenfolgenausdruck mit einem SQL-Standardmuster für reguläre Ausdrücke ab, das eine Reihe von Metazeichen für den Musterabgleich enthalten kann, darunter die beiden vom LIKE-Operator unterstützten Zeichen. SIMILAR TO stimmt mit der gesamten Zeichenfolge überein und beachtet dabei die Groß- und Kleinschreibung.
POSIX-konforme reguläre Ausdrücke POSIX-reguläre Ausdrücke bieten eine leistungsfähigere Möglichkeit zum Musterabgleich als die Operatoren LIKE und SIMILAR TO. POSIX-reguläre Ausdrücke können mit jedem Teil der Zeichenfolge übereinstimmen und führen einen Abgleich unter Berücksichtigung der Groß- und Kleinschreibung durch. (Redshift SQL-Referenz: Bedingungen für den Musterabgleich).
Bekannte Probleme¶
In Snowflake kann die Verhaltensweise für Szenarien wie (
LIKE,SIMILARTO, undPOSIX-Operatoren) variieren, wenn die Spalte vom Typ CHAR ist. Beispiel:
Code¶
Redshift-Ergebnisse¶
like(CHAR(10)) |
like(VARCHAR(10)) |
|---|---|
FALSE |
TRUE |
TRUE |
TRUE |
FALSE |
TRUE |
Snowflake-Ergebnisse¶
like(CHAR(10)) |
like(VARCHAR(10)) |
|---|---|
TRUE |
TRUE |
TRUE |
TRUE |
TRUE |
TRUE |
Da CHAR(10) eine „feste Länge“ hat, wird angenommen, dass das Muster „%1“ mit einer „1“ an der 10. Position einer CHAR(10) Spalte übereinstimmen muss. In Snowflake hingegen passt es, wenn eine ‚1‘ in der Zeichenfolge vorhanden ist und eine beliebige Folge von null oder mehr Zeichen davor steht.
LIKE¶
Bedingungen für Musterabgleiche
Beschreibung ¶
Der LIKE-Operator vergleicht einen Zeichenfolgenausdruck, z. B. einen Spaltennamen, mit einem Muster, das die Platzhalterzeichen % (Prozent) und _ (Unterstrich) verwendet. Der LIKE-Musterabgleich deckt immer die gesamte Zeichenfolge ab. Um eine Sequenz an einer beliebigen Stelle innerhalb einer Zeichenfolge zu finden, muss das Muster mit einem Prozentzeichen beginnen und enden. (Redshift SQL-Referenz: LIKE).
Hinweis
Diese Syntax wird in Snowflake voll unterstützt.
Bemerkung
In Snowflake wird in den Fällen, in denen das Escape-Zeichen nicht zur Verfügung gestellt wird, das standardmäßige Redshift Escape-Zeichen '\\' hinzugefügt, um die volle Gleichwertigkeit zu gewährleisten.
Grammatikalische Syntax ¶
Beispielhafte Quellcode-Muster¶
Einrichtungsdaten¶
Redshift¶
Like¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
NAME |
|---|
Joe Doe |
Joe Doe |
Joe Doe |
Joe Doe |
John Doe |
Ausgabecode:
Snowflake¶
Ergebnisse¶
NAME |
|---|
Joe Doe |
Joe Doe |
Joe Doe |
Joe Doe |
John Doe |
Nicht wie¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
NAME |
|---|
100% |
1000 times |
Elaine |
Joe down |
John_down |
Ausgabecode:
Snowflake¶
Ergebnisse¶
NAME |
|---|
100% |
1000 times |
Elaine |
Joe down |
John_down |
Escape-Zeichen¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
NAME |
|---|
John_down |
NAME |
|---|
100% |
Ausgabecode:
Snowflake¶
Ergebnisse¶
NAME |
|---|
John_down |
NAME |
|---|
100% |
ILike¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
R1 |
R2 |
|---|---|
FALSE |
TRUE |
Ausgabecode:
Snowflake¶
Ergebnisse¶
R1 |
R2 |
|---|---|
FALSE |
TRUE |
Operatoren¶
Die folgenden Operatoren werden wie folgt übersetzt:
Redshift |
Snowflake |
|---|---|
~~ |
LIKE |
!~~ |
NOT LIKE |
~~* |
ILIKE |
!~~* |
NOT ILIKE |
Eingabecode:¶
Redshift¶
Ergebnisse¶
R1 |
R2 |
R3 |
R4 |
|---|---|---|---|
TRUE |
FALSE |
TRUE |
FALSE |
Ausgabecode:
Snowflake¶
Ergebnisse¶
R1 |
R2 |
R3 |
R4 |
|---|---|---|---|
TRUE |
FALSE |
TRUE |
FALSE |
Bekannte Probleme¶
The behavior of fixed char types may differ. See Known issues for more information.
Zugehörige EWIs¶
Es gibt keine bekannten Probleme.
POSIX-Operatoren¶
Bedingungen für Musterabgleiche
Beschreibung ¶
Ein POSIX-regulärer Ausdruck ist eine Folge von Zeichen, die ein Übereinstimmungsmuster angibt. Eine Zeichenfolge stimmt mit einem regulären Ausdruck überein, wenn sie ein Element des regulären Satzes ist, der durch den regulären Ausdruck beschrieben wird. POSIX-Muster für reguläre Ausdrücke können auf jeden Teil einer Zeichenfolge passen. (Redshift SQL-Referenz: POSIX-Operatoren).
Warnung
Diese Grammatik wird in Snowflake teilweise unterstützt. POSIX-Operatoren werden in Snowflake in REGEXP_COUNT umgewandelt.
Grammatikalische Syntax ¶
POSIX-musterabgleichende Metazeichen¶
POSIX-Musterabgleich unterstützt die folgenden Metazeichen (alle Fälle werden in Snowflake unterstützt):
POSIX |
Beschreibung |
|---|---|
. |
Stimmt mit jedem beliebigen Einzelzeichen überein. |
|
Stimmt mit null oder mehr Vorkommen überein. |
|
Stimmt mit einem oder mehreren Vorkommen überein. |
|
Passt auf null oder ein Vorkommen. |
|
Gibt alternative Treffer an. |
|
Passt auf das Zeichen für den Zeilenanfang. |
|
Passt auf das Zeichen für das Zeilenende. |
|
Stimmt mit dem Ende der Zeichenfolge überein. |
[ ] |
Klammern geben eine passende Liste an, die auf einen Ausdruck in der Liste passen soll. |
|
Klammern fassen Elemente zu einem einzigen logischen Element zusammen. |
|
Wiederholen Sie den vorherigen Punkt genau m Mal. |
|
Wiederholen Sie den vorherigen Punkt m oder mehre Male. |
|
Wiederholen Sie den vorherigen Punkt mindestens m und höchstens n Mal. |
|
Passt auf jedes Zeichen innerhalb einer POSIX-Zeichenklasse. In den folgenden Zeichenklassen unterstützt Amazon Redshift nur ASCII Zeichen, genau wie Snowflake: |
Die Parameter ‚m‘ (aktiviert den Mehrzeilenmodus) und ‚s‘ (erlaubt das Platzhalterzeichen POSIX . für neue Zeilen) werden verwendet, um eine vollständige Äquivalenz in Snowflake zu erreichen. Weitere Informationen finden Sie unter Festlegen der Parameter für den regulären Ausdruck in Snowflake.
Beispielhafte Quellcode-Muster¶
Einrichtungsdaten¶
Redshift¶
.: Entspricht einem beliebigen Zeichen¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
1 |
abc123 hello world |
3 |
123abc another line abc123 |
11 |
abc123 abc456 abc789 |
Ausgabecode:
Snowflake¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
1 |
abc123 hello world |
3 |
123abc another line abc123 |
11 |
abc123 abc456 abc789 |
*: Stimmt mit null oder mehr Vorkommen überein.¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
1 |
abc123 hello world |
3 |
123abc another line abc123 |
6 |
a@b#c! more text here |
7 |
alpha beta gamma |
11 |
abc123 abc456 abc789 |
Ausgabecode:
Snowflake¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
1 |
abc123 hello world |
3 |
123abc another line abc123 |
6 |
a@b#c! more text here |
7 |
alpha beta gamma |
11 |
abc123 abc456 abc789 |
? : Matches zero or one occurrence¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
2 |
test string with multiple lines in this entry |
4 |
line1 line2 line3 |
5 |
start middle end |
8 |
uppercase lowercase |
9 |
line1 line2 line3 line4 |
10 |
1234567890 more digits |
12 |
start end middle |
13 |
this is the first line this is the second line |
14 |
special characters !@#$%^&*() |
Ausgabecode:
Snowflake¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
2 |
test string with multiple lines in this entry |
4 |
line1 line2 line3 |
5 |
start middle end |
8 |
uppercase lowercase |
9 |
line1 line2 line3 line4 |
10 |
1234567890 more digits |
12 |
start end middle |
13 |
this is the first line this is the second line |
14 |
special characters !@#$%^&*() |
^ : Entspricht dem Zeichen für den Zeilenanfang¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
1 |
abc123 hello world |
3 |
123abc another line abc123 |
11 |
abc123 abc456 abc789 |
Ausgabecode:
Snowflake¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
1 |
abc123 hello world |
3 |
123abc another line abc123 |
11 |
abc123 abc456 abc789 |
$ : Passt auf das Ende der Zeichenfolge.¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
2 |
test string with multiple lines in this entry |
4 |
line1 line2 line3 |
5 |
start middle end |
6 |
a@b#c! more text here |
7 |
alpha beta gamma |
8 |
uppercase lowercase |
9 |
line1 line2 line3 line4 |
10 |
1234567890 more digits |
12 |
start end middle |
13 |
this is the first line this is the second line |
14 |
special characters !@#$%^&*() |
Ausgabecode:
Snowflake¶
Ergebnisse¶
ID |
COLUMN_NAME |
|---|---|
2 |
test string with multiple lines in this entry |
4 |
line1 line2 line3 |
5 |
start middle end |
6 |
a@b#c! more text here |
7 |
alpha beta gamma |
8 |
uppercase lowercase |
9 |
line1 line2 line3 line4 |
10 |
1234567890 more digits |
12 |
start end middle |
13 |
this is the first line this is the second line |
14 |
special characters !@#$%^&*() |
Verwendung von Collate-Spalten¶
Argumente mit der Angabe COLLATE werden derzeit von der Funktion RLIKE nicht unterstützt. Daher muss die COLLATE-Klausel deaktiviert werden, um diese Funktion zu verwenden. Dies kann jedoch zu Unterschieden in den Ergebnissen führen.
Eingabecode:¶
Redshift¶
Ergebnisse¶
CI |
CS |
|---|---|
TRUE |
FALSE |
Ausgabecode:
Snowflake¶
Ergebnisse¶
CI |
CS |
|---|---|
FALSE |
FALSE |
Wenn Sie für diese Szenarien eine Gleichwertigkeit benötigen, können Sie der Funktion manuell die folgenden Parameter hinzufügen, um eine funktionale Gleichwertigkeit zu erreichen:
Parameter |
Beschreibung |
|---|---|
|
Abgleich, bei dem zwischen Groß- und Kleinschreibung unterschieden wird |
|
Abgleich ohne Berücksichtigung der Groß-/Kleinschreibung |
Bekannte Probleme¶
Bekannte Probleme¶
The behavior of fixed char types may differ. See Known issues for more information.
Argumente mit COLLATE-Angaben werden derzeit in der Funktion REGEXP_COUNT nicht unterstützt.
Zugehörige EWIs¶
[SSC-FDM-PG0011](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM. md#ssc-fdm-pg0011): Die Verwendung der COLLATE-Spalteneinschränkung wurde für diese Musterabgleichsbedingung deaktiviert.
SIMILAR TO¶
Bedingungen für Musterabgleiche
Beschreibung ¶
Der SIMILAR TO-Operator gleicht einen Zeichenfolgenausdruck, wie z. B. einen Spaltennamen, mit einem SQL Standardmuster für reguläre Ausdrücke ab. Ein Muster für einen regulären Ausdruck SQL kann eine Reihe von Metazeichen für die Musterübereinstimmung enthalten, einschließlich der beiden, die vom LIKE -Operator unterstützt. (Redshift SQL-Referenz: SIMILAR TO).
Grammatikalische Syntax ¶
Musterabgleichende Metazeichen¶
| Redshift | Snowflake | Notes |
|---|---|---|
| ```{code} sql :force: % ``` | ```{code} sql :force: .* ``` | Matches any sequence of zero or more characters. To achieve full equivalence in Snowflake, we need to replace the '%' operator with '.*' in the pattern. |
| ```{code} sql :force: _ ``` | ```{code} sql :force: . ``` | Matches any single character. To achieve full equivalence in Snowflake, we need to replace the _ operator with . and add the s parameter to enable the POSIX wildcard character . to match newline characters. |
| ```{code} sql :force: | ``` | ```{code} sql :force: | ``` | Denotes alternation. This case is fully supported in Snowflake. |
| ```{code} sql :force: * ``` | ```{code} sql :force: * ``` | Repeat the previous item zero or more times. This can have a different behavior when newline characters are included. |
| ```{code} sql :force: + ``` | ```{code} sql :force: + ``` | Repeat the previous item one or more times. This can have a different behavior when newline characters are included. |
| ```{code} sql :force: ? ``` | ```{code} sql :force: ? ``` | Repeat the previous item zero or one time. This can have a different behavior when newline characters are included. |
| ```{code} sql :force: {m} ``` | ```{code} sql :force: {m} ``` | Repeat the previous item exactly m times and it is fully supported in Snowflake. |
| ```{code} sql :force: {m,} ``` | ```{code} sql :force: {m,} ``` | Repeat the previous item at least m and not more than n times and it is fully supported in Snowflake. |
| ```{code} sql :force: {m,n} ``` | ```{code} sql :force: {m,n} ``` | Repeat the previous item m or more times and it is fully supported in Snowflake. |
| ```{code} sql :force: () ``` | ```{code} sql :force: () ``` | Parentheses group items into a single logical item and it is fully supported in Snowflake. |
| ```{code} sql :force: [...] ``` | ```{code} sql :force: [...] ``` | A bracket expression specifies a character class, just as in POSIX regular expressions. |
Beispielhafte Quellcode-Muster¶
Einrichtungsdaten¶
Redshift¶
% : Matches any sequence of zero or more characters¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
abcc |
xyzabc |
abc cccc |
abc%def |
abc_xyz |
abc_1_xyz |
start%_abc |
abcs_123_xyz |
aabc123 |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
abcc |
xyzabc |
abc cccc |
abc%def |
abc_xyz |
abc_1_xyz |
start%_abc |
abcs_123_xyz |
aabc123 |
_ : Passt auf jedes einzelne Zeichen¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
a_cdef |
abcc |
abc cccc |
abc%def |
abc_xyz |
abc_1_xyz |
abcs_123_xyz |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
a_cdef |
abcc |
abc cccc |
abc%def |
abc_xyz |
abc_1_xyz |
abcs_123_xyz |
| : Bezeichnet Alternation¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
bxyz |
banana |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
bxyz |
banana |
{m, n}: Wiederholen Sie den vorherigen Punkt genau m Mal.¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abcc |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
abcc |
+ : Repeat the previous item one or more times¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abcc |
abc cccc |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
abcc |
*: Wiederholen Sie den vorherigen Punkt null oder mehr Mal¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abcc |
abc cccc |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
abcc |
? : Wiederholen Sie den vorherigen Punkt null oder einmal¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abcc |
abc ccc |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
abcc |
() : Klammern gruppieren Elemente zu einem einzigen logischen Element¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
abcc |
xyzabc |
abc cccc |
abc%def |
abc_xyz |
abc_1_xyz |
abcs_123_xyz |
xyzxyz |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
abcc |
xyzabc |
abc cccc |
abc%def |
abc_xyz |
abc_1_xyz |
abcs_123_xyz |
xyzxyz |
[…] : Gibt eine Zeichenklasse an¶
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
a_cdef |
bxyz |
abcc |
apfel |
banana |
abc cccc |
abc%def |
abc_xyz |
abc_1_xyz |
applepie |
ab%_xyz |
abcs_123_xyz |
aabc123 |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
a_cdef |
bxyz |
abcc |
apfel |
banana |
abc cccc |
abc%def |
abc_xyz |
abc_1_xyz |
applepie |
ab%_xyz |
abcs_123_xyz |
aabc123 |
Escape-Zeichen¶
Die folgenden Zeichen werden als Escape-Zeichen ausgegeben, wenn sie im Muster vorkommen und nicht selbst das Escape-Zeichen sind:
.
$
^
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
abc_xyz |
abc_1_xyz |
R1 |
|---|
TRUE |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
abc_xyz |
abc_1_xyz |
R1 |
|---|
TRUE |
In einer Variablen gespeichertes Muster¶
Wenn diese Muster in einer Variablen gespeichert sind, werden die erforderlichen Anpassungen für die Äquivalenz nicht vorgenommen. Sie können sich auf die Empfehlungen in der Tabelle Pattern-matching metacharacters am Anfang dieses Dokuments beziehen, um weitere Richtlinien zur Äquivalenz zu erhalten.
Eingabecode:¶
Redshift¶
Ergebnisse¶
COLUMN_NAME |
|---|
abc_123 |
abcc |
xyzabc |
abc cccc |
abccc |
abc%def |
abc_xyz |
abc_1_xyz |
start%_abc |
abcs_123_xyz |
aabc123 |
123abc another line abc123 |
Ausgabecode:
Snowflake¶
Ergebnisse¶
COLUMN_NAME |
|---|
Abfrage ergab keine Ergebnisse |
Verwendung von Collate-Spalten¶
Argumente mit der Angabe COLLATE werden derzeit von der Funktion RLIKE nicht unterstützt. Daher muss die COLLATE-Klausel deaktiviert werden, um diese Funktion zu verwenden. Dies kann jedoch zu Unterschieden in den Ergebnissen führen.
Eingabecode:¶
Redshift¶
Ergebnisse¶
CI |
CS |
|---|---|
TRUE |
FALSE |
Ausgabecode:
Snowflake¶
Ergebnisse¶
CI |
CS |
|---|---|
FALSE |
FALSE |
Wenn Sie für diese Szenarien eine Gleichwertigkeit benötigen, können Sie der Funktion manuell die folgenden Parameter hinzufügen, um eine funktionale Gleichwertigkeit zu erreichen:
Parameter |
Beschreibung |
|---|---|
|
Abgleich, bei dem zwischen Groß- und Kleinschreibung unterschieden wird |
|
Abgleich ohne Berücksichtigung der Groß-/Kleinschreibung |
Bekannte Probleme¶
Die Verhaltensweise von festen Zeichentypen kann unterschiedlich sein.
Die Funktion
RLIKEverwendet POSIX-erweiterte reguläre Ausdrücke, was in bestimmten Fällen zu einer anderen Verhaltensweise führen kann, insbesondere wenn Zeilenumbrüche beteiligt sind. Wenn Zeilenumbrüche in der Zeichenfolge vorhanden sind und eine Übereinstimmung in einer Zeile auftritt, scheint es ein positives Ergebnis für die gesamte Zeichenfolge zu geben, obwohl die Übereinstimmung nur in einer einzigen Zeile und nicht in der gesamten Zeichenfolge auftrat. Beispiel:
Redshift-Code¶
Snowflake-Code¶
Redshift-Ergebnisse¶
COL1 |
|---|
abcccc |
abc eab |
abc ccc |
Snowflake-Ergebnisse¶
COL1 |
|---|
abcccc |
Um eine maximale Äquivalenz zu erreichen, werden einige Änderungen an den Musteroperatoren vorgenommen.
Wenn diese Muster in einer Variablen gespeichert sind, wendet SnowConvert AI nicht die notwendigen Anpassungen für die Äquivalenz an.
Argumente mit der Angabe COLLATE werden derzeit von der Funktion RLIKE nicht unterstützt.
Zugehörige EWIs¶
[SSC-FDM-0032](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM. md#ssc-fdm-0032): Der Parameter ist kein literaler Wert, die Transformation konnte nicht vollständig angewendet werden.
[SSC-FDM-PG0011](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM. md#ssc-fdm-pg0011): Die Verwendung der COLLATE-Spalteneinschränkung wurde für diese Musterabgleichsbedingung deaktiviert.