Oracle Substr -Funktion

Oracle Substr -Funktion

Die Oracle-Substr-Funktion ist eine integrierte Funktion, mit der ein Substring aus einer String extrahiert wird. Die Funktion nimmt drei Argumente vor: die Quellzeichenfolge, die Startposition des Substring und die Länge des Substrings. Die Funktion gibt das angegebene Substring aus der Quellzeichenfolge zurück.

Die Substr -Funktion ist hilfreich für eine Vielzahl von Aufgaben, bei denen es darum geht, mit Strings in Oracle zu arbeiten. Es kann verwendet werden, um Substrings aus festen Breitenzeichenfolgen zu extrahieren, die ersten oder letzten n Zeichen einer Zeichenfolge zu extrahieren oder Substrings basierend auf bestimmten Mustern oder Grenzwerten zu extrahieren.

Die Syntax der Substr -Funktion ist einfach. Die Funktion wird normalerweise in einer Auswahlanweisung verwendet, in der sie mit anderen String -Funktionen und SQL -Klauseln kombiniert werden kann, um Stringdaten zu manipulieren und zu analysieren.

In diesem Artikel werden die Syntax und Verwendung der Oracle -Substr -Funktion zusammen mit einigen Beispielen erörtert, mit denen Sie mit der Verwendung dieser Funktion in Ihren eigenen Abfragen und Anwendungen beginnen können.

Funktionssyntaxdefinition

Das Folgende zeigt die Syntax für die Funktion substr () in Oracle:

Substr (Source_String, start_position, Länge)

Die Funktionsargumente sind wie folgt:

  1. Das Argument von Source_String ist die Zeichenfolge, aus der Sie das Substring extrahieren möchten.
  2. Das Argument start_position ist die Ausgangsposition des Substring innerhalb der Quellzeichenfolge.
  3. Das Längenargument ist die Anzahl der Zeichen, die aus der Quellzeichenfolge extrahiert werden sollen, beginnend mit start_position.

Beispiel für Funktionsnutzung

Lassen Sie uns einige Beispiele für die Verwendung der Substr () -Funktion in Oracle -Datenbanken entdecken.

Eine einfache Beispieldemonstration ist wie gezeigt:

Wählen Sie Substr ('Hello World', 4, 6) als res von Dual;

Im obigen Beispiel extrahiert die Substr () -Funktion die Substring von Länge 6 aus der String „Hello World“. Die Funktion beginnt an Position 4, die sich auf das fünfte Zeichen in der Zeichenfolge bezieht.

Whitespace -Zeichen werden auch als gültige Zeichen angesehen.

Der obige Code sollte die resultierende Zeichenfolge als:

Beispiel 2

Wir können auch einen negativen Wert für die Startposition bei der Arbeit mit der Funktion substr () angeben. In einem solchen Fall startet die Funktion die Position von der rechten Seite der Zeichenfolge von der rechten Seite.

Ein Beispiel ist wie gezeigt:

Wählen Sie Substr ('Hello World', -4, 6) als res von Dual;

Ausgang:

Wie Sie sehen können, extrahiert die Funktion die letzten vier Zeichen der Zeichenfolge.

Beispiel 3

Wir können auch die Funktion substr () mit einer Tabellenspalte verwenden, um bestimmte Werte aus einer bestimmten Eingangszeichenfolge zu extrahieren.

Eine Beispieldemonstration ist wie gezeigt:

Quellentabelle:

TABLE Sample_Data erstellen
(
ID -Nummer,
First_Name VARCHAR2 (50),
ip_address varchar2 (20),
btc_address varchar2 (50),
Credit_card varchar2 (50),
Kennung varchar2 (40),
Einschränkung Sample_PK Primärschlüssel (ID)
);
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (1, 'Wallas', '169.158.70.77 ',' 1CNZ5D1D5SC8SAR6DFSVIHWZTQYX5FG77Q ',' 4017955174552 '',
'26811D77-0A3A-4397-BC33-F7835F7C7AB9');
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (2, 'Ian', '148.190.10.178 ',' 1ADXBV7N9JEDDCB8PL24J9WV54MCSRHDU7 ',' 4017956704480827 ',
'A69FE590-BC1B-4001-8ff8-154BCDB5802D');
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (3, 'Pasquale', '150.86.18.140 ',' 126HVKOM2FOY9LEA6M4PUAT1H97C2RSD8B ',' 4017953296787867 ',
'34AC9385-9E1E-4D13-9537-C4EEDB9F2C35');
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (4, 'Devi', '241.230.243.196 ',' 1D9FYSXN9F3AKPZFXK9OIJPETTE9YBYNPX ',' 4017953082740 '',
'BA67EB8D-FABA-46CE-BA4F-67BA75E10838');
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (5, 'Sylvester', '82.51.73.188 ',' 1VBZQ6ORGTXPGMHTFPSKU12JXFO3RVSH8 ',' 4041379082464 '',
'30CCA1E2-575F-4333-90EC-25CB04B43E52');
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (6, 'Germaine', '7.235.247.115 ',' 15hri9bpcefikzjruapvtfdcagyhbc6hvx ',' 4017959839721 '',
'7ec7d3fd-c140-4b33-B97B-94C06451AA73');
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (7, 'Alix', '63.31.160.54 ',' 1NYHTXE635UXWRA5UV5W8T8MN7XXFBDAJE ',' 4017953212669215 '',
'3120F1D4-3586-41D9-A3ED-1E50F335A124');
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (8, 'Babita', '208.85.91.138 ',' 1huxjtnfctij2l8l1z1qif37kmkflyxltx ',' 4017955405862390 ',
'0739C5F8-853C-47DE-Afee-1AEA104BD236');
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (9, 'Granat', '31.79.138.52 ',' 1lkjkubdnmxxi5uj7H2BT7S732FV9QYTPQ ',' 4017956748784 '',
'034ACB80-7A69-4E94-A424-FBEAFB7C97BA');
In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (10, 'Lucia', '153.191.2.219 ',' 1GA1DHCZTSSS7HAFVKMOA4C1NG6TPKNTKZ ',' 4017957698631755 ',
'e111e195-C5DA-406B-BEB3-D8791D8EA5B7');

Wenn wir die letzten vier Zahlen der Credit_card -Spalte extrahieren möchten, können wir eine Abfrage wie gezeigt ausführen:

Wählen Sie First_Name, ip_address, substr (credit_card, -4, 5) als masked_card aus sample_data sd;

Ergebnis:

Abschluss

Die Substr -Funktion wird häufig mit anderen Zeichenfolgen wie Länge und Instrument kombiniert, um Saiten in Oracle zu manipulieren und zu analysieren. Es kann nützlich sein, um Aufgaben wie das Extrahieren von Substrings aus festen Breitenzeichenfolgen, das Extrahieren der ersten oder letzten n Zeichen einer Zeichenfolge oder das Extrahieren von Substrings basierend auf bestimmten Mustern oder Grenzwerten.