Rotverschiebungs -Substringfunktion

Rotverschiebungs -Substringfunktion
Rotverschiebung Substring ist die Funktion, mit der das erforderliche Substring aus der vorhandenen Zeichenfolge basierend auf der Startposition und der Länge des Substring extrahiert wird. Der Zweck der Substring -Funktion besteht darin, den spezifischen Teil der Zeichenfolge zurückzugeben. Datenbankentwickler verwenden diese Funktion in Abfragen weitgehend, um einen bestimmten Teil der Zeichenfolge zu erhalten. In diesem Blog wird beschrieben, wie die Substring -Funktion auf unterschiedliche Weise verwendet werden kann.

Substring -Funktionssyntax

Die grundlegende und am häufigsten verwendete Syntax für die Substringfunktion ist wie folgt, wo Zeichenkette ist die Hauptschnur, aus der wir Substrings extrahieren werden. Der Startposition ist die Position des ersten Zeichens des Substrings in der Hauptschnur und der Länge_of_characters ist die Anzahl der Zeichen im Substring:

1
substring (Zeichen_String, start_position, Länge_OF_Characters);

ODER

1
substring (charakter_string von start_position [für number_characters]);

Außerdem können Sie eine Substring von Binärdaten unter Verwendung der folgenden Syntax extrahieren, wo binary_expression ist die binären Daten mit Datentyp Varbyte. Der start_byte ist die Position des ersten Byte des Substring, der aus Binärdaten extrahiert wurde, und der Number_Bytes ist die Anzahl der Bytes, die der Substring umfasst.

Wenn Sie die nicht angeben Number_Bytes In der Substring -Funktion extrahiert es den Substring aus Beginn von start_byte bis zum Ende der binären Daten.

1
substring (binary_expression, start_byte, number_bytes);


ODER

1
substring (binary_expression, start_byte);

Verwenden der Substringfunktion

Bisher haben wir die Syntax der Substringfunktion besprochen. In diesem Abschnitt werden wir sehen, wie diese Funktion verwendet werden kann. Lassen Sie uns einige Beispiele diskutieren, um die Arbeit der Substring -Funktion zu verstehen:

Die Substring -Funktion kann verwendet werden. In diesem Abschnitt wird die Substring -Funktion mit der Auswahlabfrage verwendet.

Die folgende Anfrage gibt die zurück Rotverschiebung Bei der Ausführung von Rotverschiebung:

1
Substring auswählen ('AWS Redshift', 5,8);

Die folgende Tabelle zeigt die Charakterzahl in der AWS Rotverschiebung Saite. Der Platz zwischen AWS und Rotverschiebung wird auch als Charakter gezählt.

A W S R E D S H ICH F T
1 2 3 4 5 6 7 8 9 10 11 12

Die Ausgangsposition beträgt 5 und der Charakter bei der 5. Anzahl ist R. Die Länge des Charakters beträgt 8, was bedeutet, dass ab dem Buchstaben R, acht Zeichen zurückgegeben werden.


Ebenso wird die folgende Frage zurückkehren AWS Bei der Durchführung von Rotverschiebung. Der erste Charakter ist a und die Gesamtzahl der Substring beträgt 3; Deshalb wird es das AWS -Substring zurückgeben.

1
Substring auswählen ('AWS RedShift', 1,3);

Wenn der start_position+length_of_characters ist größer als die Gesamtzahl der Zeichen in der Zeichenkette, Die Rotverschiebung gibt den Wert zurück, der von der Startposition bis zum Ende der Zeichenfolge beginnt.

Wenn die Länge des Zeichens nicht angegeben ist, gibt die Substringfunktion den Wert zurück, der von der Startposition bis zum Ende der Zeichenfolge beginnt.

1
Substring auswählen ('AWS Redshift', 7,8);

ODER

1
Substring auswählen ('AWS Redshift', 7);

In beiden Fällen wird die Ausgabe sein Dshift, Wie in der Abbildung unten gezeigt:


Wenn die Startposition Null oder weniger als Null (negativer) Wert ist, gibt die Substringfunktion einen Substring zurück, der am ersten Zeichen der Substring beginnt Zeichenkette mit einer Länge von start_position+length_of_characters-1.

1
Substring auswählen ('AWS RedShift',-3,7);

Die Ausgabe wird sein AWS, Wie in der Abbildung unten gezeigt:


Wenn der start_position+length_of_characters-1 ist kleiner als oder gleich Null. Die Substringfunktion gibt eine leere Zeichenfolge zurück.

1
Substring auswählen ('AWS RedShift',-5,4);

Die Ausgabe für diese Abfrage wird sein leer, Wie in der Abbildung unten gezeigt:


Die folgende Abfrage erstellt die AWS_REDSHIFT_SUBSTRING TABLE in den Rotverschiebungscluster mit den angegebenen Attributen:

1
2
3
4
5
6
7
TABLE CREATE AWS_REDSHIFT_SUBSTRING (
S_no int,
Personname varchar (255)
);

Fügen Sie Daten mit der Methode Einfügung in die Tabelle ein.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Einfügen in AWS_redShift_Substring -Werte (1, 'MR. Dwayne Johnson');
In AWS_redShift_Substring -Werte einfügen (2, 'MR. Vin Diesel');
Einfügen in AWS_redShift_Substring -Werte (3, 'MR. Will Smith');
Einfügen in AWS_RedShift_Substring -Werte (4, 'MR. Robert Downey Jr.');
Einfügen in AWS_RedShift_Substring -Werte (5, 'MR. Chris Hemsworth');
In AWS_redShift_Substring -Werte einfügen (6, 'MR. Leonardo Dicaprio');
Einfügen in AWS_redShift_Substring -Werte (7, 'MR. Ryan Reynolds');
In AWS_redShift_Substring -Werte einfügen (8, 'MR. Chris Pratt ');
Einfügen in AWS_redShift_Substring -Werte (9, 'MR. Hugh Jackman');
Einfügen in AWS_RedShift_Substring -Werte (10, 'MR. Mark Wahlberg');

In den vorherigen Abfragen werden Daten in die Tabelle eingefügt. Wählen Sie nun die Werte aus der Tabelle mit der folgenden Abfrage aus:

1
Wählen Sie * aus AWS_REDSHIFT_SUBSTRING;
s_no Name der Person
1 Herr. Dwayne Johnson
2 Herr. Vin Diesel
3 Herr. Will Smith
4 Herr. Robert Downey Jr.
5 Herr. Chris Hemsworth
6 Herr. Leonardo Dicaprio
7 Herr. Ryan Reynolds
8 Herr. Chris Pratt
9 Herr. Hugh Jackman
10 Herr. Mark Wahlberg

Wenden Sie nun einige Substringfunktionen auf diese Tabelle an. Wir extrahieren nur die Namen und vernachlässigen den Titel. Führen Sie dafür die folgende Frage aus:

1
SELECT *, Substring (PersonName, 4) als New_Name von AWS_REDSHIFT_SUBSTRING;

Diese Abfrage gibt die Unterstrings der zurück Name der Person Spalte in eine neue Spalte.

s_no Name der Person neuer Name
1 Herr. Dwayne Johnson Dwayne Johnson
2 Herr. Vin Diesel Vin Diesel
3 Herr. Will Smith Will Smith
4 Herr. Robert Downey Jr. Robert Downey Jr.
5 Herr. Chris Hemsworth Chris Hemsworth
6 Herr. Leonardo Dicaprio Leonardo Dicaprio
7 Herr. Ryan Reynolds Ryan Reynolds
8 Herr. Chris Pratt Chris Pratt
9 Herr. Hugh Jackman Hugh Jackman
10 Herr. Mark Wahlberg Mark Wahlberg


In ähnlicher Weise können wir Substrings von bekommen Name der Person Verwenden der folgenden Abfrage zusammen mit der Substring -Funktion:

1
SELECT *, Substring (Personname von 1 für 3) als Titel von AWS_redshift_Substring;

Dadurch wird der einzige Titel extrahiert und gleichzeitig den vollständigen Namen vernachlässigt.

S_no Name der Person Titel
1 Herr. Dwayne Johnson Herr.
2 Herr. Vin Diesel Herr.
3 Herr. Will Smith Herr.
4 Herr. Robert Downey Jr. Herr.
5 Herr. Chris Hemsworth Herr.
6 Herr. Leonardo Dicaprio Herr.
7 Herr. Ryan Reynolds Herr.
8 Herr. Chris Pratt Herr.
9 Herr. Hugh Jackman Herr.
10 Herr. Mark Wahlberg Herr.

Abschluss

In diesem Artikel wurde erläutert, wie wir die Substring -Funktion verwenden können, um Abfragen im Rotverschiebungscluster auszuführen. Das Extrahieren modifizierter Daten aus der Datenbank ist eine große Aufgabe und kann mit der Substring -Funktion ausgeführt werden. Die Verwendung der Substring -Funktion kann dazu beitragen, die Änderung der Daten nach Abfragen zu vermeiden, da die geänderten Daten abgerufen werden.