MySQL implementiert Zeichenfolgenverkettung, Abfangen, Ersetzen und Positionssuchvorgänge

MySQL implementiert Zeichenfolgenverkettung, Abfangen, Ersetzen und Positionssuchvorgänge

MySQL-Zeichenfolgenverkettung, -Abfangen, -Ersetzung und -Suchposition.

Häufig verwendete Zeichenfolgenfunktionen:

Funktion veranschaulichen
CONCAT(s1,s2,...) Gibt die von den Verbindungsparametern generierte Zeichenfolge zurück, einen oder mehrere zu verkettende Inhalte. Wenn einer davon NULL ist, ist der Rückgabewert NULL.
CONCAT_WS(x,s1,s2,...) Gibt eine Zeichenfolge zurück, die aus mehreren aneinandergereihten Zeichenfolgen besteht, mit einem x zwischen jeder Zeichenfolge.
SUBSTRING(s,n,Länge), MID(s,n,Länge) Die beiden Funktionen haben dieselbe Wirkung und geben einen String zurück, der mit dem n-ten Zeichen beginnt und eine Länge von len aus dem String s hat.
LINKS(s,n), RECHTS(s,n) Ersteres gibt die n Zeichen beginnend ganz links in der Zeichenfolge s zurück, und letzteres gibt die n Zeichen beginnend ganz rechts in der Zeichenfolge s zurück.
INSERT(s1,x,Länge,s2) Gibt die Zeichenfolge s1 zurück, wobei die Teilzeichenfolge, die an Position x beginnt, durch len Zeichen der Zeichenfolge s2 ersetzt ist.
ERSETZEN(s,s1,s2) Gibt eine Zeichenfolge zurück, die alle Vorkommen der Zeichenfolge s1 in der Zeichenfolge s durch die Zeichenfolge s2 ersetzt.
LOKALISIEREN(str1,str), POSITION(str1 IN str), INSTR(str,str1) Die drei Funktionen haben die gleiche Funktion und geben die Startposition der Teilzeichenfolge str1 in der Zeichenfolge str zurück (beginnend mit dem n-ten Zeichen).
FELD(s,s1,s2,...) Gibt die Position der ersten Übereinstimmung mit der Zeichenfolge s zurück.

1. String-Verkettung

1.1 CONCAT(s1,s2,...)-Funktion

Gibt die von den Verbindungsparametern generierte Zeichenfolge zurück, einen oder mehrere zu verkettende Inhalte. Wenn einer davon NULL ist, ist der Rückgabewert NULL.

SELECT CONCAT('Aktuelle Zeit:',NOW()); -- Ausgabeergebnis: Aktuelle Zeit: 2019-01-17 11:27:58

1.2 CONCAT_WS(x,s1,s2,...)-Funktion

Gibt eine Zeichenfolge zurück, die aus mehreren aneinandergereihten Zeichenfolgen besteht, mit einem x zwischen jeder Zeichenfolge.

SELECT CONCAT_WS(';','pan_junbiaos Blog','KevinPan','pan_junbiao'); -- Ausgabe: pan_junbiaos Blog;KevinPan;pan_junbiao

2. Zeichenfolgenabfangen

2.1 SUBSTRING(s,n,len)- und MID(s,n,len)-Funktionen

Die beiden Funktionen haben dieselbe Wirkung und geben einen String zurück, der mit dem n-ten Zeichen beginnt und eine Länge von len aus dem String s hat.

SELECT SUBSTRING('Hallo, willkommen im Blog von pan_junbiao's',8,14); -- Ausgabeergebnis: Blog von pan_junbiaoSELECT MID('Hallo, willkommen im Blog von pan_junbiao's',8,14); -- Ausgabeergebnis: Blog von pan_junbiao

2.2 LEFT(s,n), RIGHT(s,n)-Funktionen

Ersteres gibt die n Zeichen beginnend ganz links in der Zeichenfolge s zurück, und letzteres gibt die n Zeichen beginnend ganz rechts in der Zeichenfolge s zurück.

SELECT LEFT('Hallo, willkommen bei pan_junbiao's Blog',7); -- Ausgabeergebnis: Hallo, willkommen bei SELECT RIGHT('Hallo, willkommen bei pan_junbiao's Blog',14); -- Ausgabeergebnis: pan_junbiao's Blog

3. Saitenwechsel

3.1 INSERT(s1,x,len,s2)-Funktion

Gibt die Zeichenfolge s1 zurück, wobei die Teilzeichenfolge, die an Position x beginnt, durch len Zeichen der Zeichenfolge s2 ersetzt ist.

SELECT INSERT('Hallo, willkommen im Blog von A Biao',8,2,'pan_junbiao'); -- Ausgabe: Hallo, willkommen im Blog von pan_junbiao

3.2 REPLACE(s,s1,s2)-Funktion

Gibt eine Zeichenfolge zurück, die alle Vorkommen der Zeichenfolge s1 in der Zeichenfolge s durch die Zeichenfolge s2 ersetzt.

SELECT REPLACE('Hallo, willkommen im Blog von A Biao', 'A Biao', 'pan_junbiao'); -- Ausgabe: Hallo, willkommen im Blog von pan_junbiao

4. String-Abfrageposition

4.1 Funktionen LOCATE(str1,str), POSITION(str1 IN str), INSTR(str,str1)

Die drei Funktionen haben die gleiche Funktion und geben die Startposition der Teilzeichenfolge str1 in der Zeichenfolge str zurück (beginnend mit dem n-ten Zeichen).

SELECT LOCATE('pan_junbiao','Hallo, willkommen im Blog von pan_junbiao'); -- Ausgabe: 8
SELECT POSITION('pan_junbiao' IN 'Hallo, willkommen im Blog von pan_junbiao'); -- Ausgabe: 8
SELECT INSTR('Hallo, willkommen im Blog von pan_junbiao','pan_junbiao'); -- Ausgabe: 8

4.2 FIELD(s,s1,s2,...)-Funktion

Gibt die Position der ersten Übereinstimmung mit der Zeichenfolge s zurück.

SELECT FIELD('pan_junbiao','pan_junbiaos Blog','KevinPan','阿标','pan_junbiao'); -- Ausgabe: 4

Ergänzung: mysql Stringposition finden instr() und LOCATE() Stringsuchfunktionen

INSTR(Zeichenfolge,Teilzeichenfolge)

Gibt die Position des ersten Vorkommens einer Teilzeichenfolge innerhalb der Zeichenfolge str zurück. Dies ist identisch mit der Zwei-Argument-Form von LOCATE(), außer dass die Reihenfolge der Argumente umgekehrt ist.

mysql> SELECT INSTR('foobarbar', 'bar');
    -> 4
mysql> SELECT INSTR('xbar', 'foobar');
    -> 0

LOCATE(Teilzeichenfolge,Zeichenfolge), LOCATE(Teilzeichenfolge,Zeichenfolge,Pos)

Die erste Syntax gibt das erste Vorkommen der Teilzeichenfolge „substr“ innerhalb der Zeichenfolge „str“ zurück. Die zweite Syntax gibt das erste Vorkommen der Teilzeichenfolge „substr“ in der Zeichenfolge „str“ zurück, beginnend an der Position „pos“. Wenn substr nicht in str ist, ist der Rückgabewert 0.

mysql> SELECT LOCATE('bar', 'foobarbar');
    -> 4
mysql> SELECT LOCATE('xbar', 'foobar');
    -> 0
mysql> SELECT LOCATE('bar', 'foobarbar',5);
    -> 7

Diese Funktion unterstützt Multibyte-Zeichen und unterscheidet nur dann zwischen Groß- und Kleinschreibung, wenn mindestens eines ihrer Argumente eine Binärzeichenfolge ist.

POSITION(Teilzeichenfolge IN Zeichenkette)

Gibt die Position des ersten Vorkommens der Teilzeichenfolge „substr“ in der Zeichenfolge „str“ zurück. Wenn die Teilzeichenfolge substr in str nicht vorhanden ist, ist der Rückgabewert 0:

mysql> POSITION AUSWÄHLEN('bar', 'foobarbar');
-> 4
mysql> POSITION AUSWÄHLEN('xbar', 'foobar');
-> 0

Effizienztest

Wählen Sie * aus `o_soft`, wobei LOCATE('d200',tid2)>0

MySQL gibt einen leeren Ergebnisset (null Zeilen) zurück. (Abfrage dauerte 0,0050 Sekunden)

Wählen Sie * aus `o_soft`, wobei INSTR('d200',tid2)>0

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Mysql-String-Abfangen und Abrufen von Daten im angegebenen String
  • Zwei Methoden der MySql-Kommaverkettungs-Stringabfrage
  • MySQL fängt die SQL-Anweisung der String-Funktion ab

<<:  Beispielcode zum Festlegen des Beschriftungsstils mithilfe des CSS-Selektors

>>:  Vue implementiert das digitale Tausendertrennzeichenformat global

Artikel empfehlen

Diskussion zum Problem der Initialisierung von Iframe-Knoten

Heute fiel mir plötzlich ein, die Produktionsprinz...

SQL-basierte Abfrageanweisungen

Inhaltsverzeichnis 1. Einfache SELECT-Anweisung 1...

Umfassende Inventarisierung wichtiger Logdateien in MySQL

Inhaltsverzeichnis Einführung Protokollklassifizi...

Tipps zur Verwendung kleiner HTML-Tags

Phrasenelemente wie <em></em> können d...

So verwenden Sie die Vue3-Komponente zum asynchronen Laden von Daten Suspense

Inhaltsverzeichnis Vorwort Komponenten erstellen ...

IE6 implementiert min-width

Zunächst einmal wissen wir, dass dieser Effekt ei...

Detaillierte Erklärung von Objektliteralen in JS

Inhaltsverzeichnis Vorwort 1. Setzen Sie den Prot...

Allgemeine Symbole in Unicode

Unicode ist ein von einer internationalen Organis...

Detaillierte Erklärung der Top-Befehlsausgabe in Linux

Vorwort Ich glaube, jeder hat den Befehl top unte...

Absteigender Index in MySQL 8.0

Vorwort Ich glaube, jeder weiß, dass Indizes geor...