Heim  >  Artikel  >  Datenbank  >  Eine kurze Einführung in die Concat-Funktion in MySQL und der Beispielcode zum Hinzufügen von Zeichenfolgen vor/nach MySQL-Feldern

Eine kurze Einführung in die Concat-Funktion in MySQL und der Beispielcode zum Hinzufügen von Zeichenfolgen vor/nach MySQL-Feldern

黄舟
黄舟Original
2017-03-29 14:05:251389Durchsuche

Der Editor unten bringt Ihnen eine kurze Diskussion über die concat-Funktion in MySQL, und MySQL fügt String vor/nach dem Feld hinzu. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor, um einen Blick darauf zu werfen

So verwenden Sie die Concat-Funktion in MySQL:

CONCAT(str1,str2,…)

Das Rückgabeergebnis ist die durch die Verbindungsparameter generierte Zeichenfolge. Wenn ein Parameter NULL ist, ist der Rückgabewert NULL.

Hinweis:

Wenn alle Argumente nicht-binäre Zeichenfolgen sind, ist das Ergebnis eine nicht-binäre Zeichenfolge.

Wenn die self- Variable eine beliebige Binärzeichenfolge enthält, ist das Ergebnis eine Binärzeichenfolge.

Ein numerischer Parameter wird in sein entsprechendes binäres Zeichenfolgenformat konvertiert. Um dies zu vermeiden, verwenden Sie eine explizite Typumwandlung, zum Beispiel:

SELECT CONCAT(CAST(int_col AS CHAR), char_col)

Die Concat-Funktion von MySQL kann eine oder mehrere Zeichenfolgen verbinden, z. B.

mysql> select concat('10');
+--------------+
| concat('10') |
+--------------+
| 10 |
+--------------+
1 row in set (0.00 sec)
mysql> select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233 |
+------------------------+
1 row in set (0.00 sec)

Die Concat-Funktion von MySQL Sie sind NULL, NULL wird zurückgegeben >
Verwendung:

mysql> select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL |
+------------------------+
1 row in set (0.00 sec)

CONCAT_WS() steht für CONCAT With Separator und ist eine Sonderform von CONCAT(). Der erste Parameter ist das -Trennzeichen für andere -Parameter. Die Position des Trennzeichens wird zwischen den beiden zu verkettenden Zeichenfolgen platziert. Das Trennzeichen kann eine Zeichenfolge oder ein anderer Parameter sein.

Hinweis:

CONCAT_WS(separator,str1,str2,...)

Wenn das Trennzeichen NULL ist, ist das Ergebnis NULL. Die Funktion ignoriert NULL-Werte nach jedem Trennzeichenargument.

Wenn die Verbindung durch Kommas getrennt ist

Der Unterschied zur concat-Funktion in MySQL besteht darin, dass die concat_ws-Funktion aufgrund eines NULL-Werts nicht zurückgibt, wenn NULL ausgeführt.

Die Funktion „group_concat“ in MySQL

mysql> select concat_ws(',','11','22','33');
+-------------------------------+
| concat_ws(',','11','22','33') |
+-------------------------------+
| 11,22,33 |
+-------------------------------+
1 row in set (0.00 sec)

Die vollständige Syntax lautet wie folgt:

mysql> select concat_ws(',','11','22',NULL);
+-------------------------------+
| concat_ws(',','11','22',NULL) |
+-------------------------------+
| 11,22 |
+-------------------------------+
1 row in set (0.00 sec)

group_concat ([DISTINCT] Zu verbindendes Feld [Order BY ASC/DESC Sortierfeld] [Separator 'separator'])Basisabfrage

Nach ID gruppieren, den Wert des Namensfelds in einer Zeile drucken, durch Kommas getrennt (Standard)

Nach ID gruppieren, den Wert des Namens drucken Feld in einer Zeile, durch Semikolon getrennt

mysql> select * from aa;
+------+------+
| id| name |
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200 |
|3 | 500 |
+------+------+
6 rows in set (0.00 sec)

Nach ID gruppieren, den Wert des redundanten Namensfelds in einer Zeile ausgeben,

mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec)

Komma getrennt

mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500 |
+------+----------------------------------+
3 rows in set (0.00 sec)

Nach ID gruppieren, den Wert des Namensfelds in einer Zeile ausgeben, durch Kommas getrennt, in umgekehrter Reihenfolge nach Namen

repeat ()-Funktion

mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20 |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)

wird zum Kopieren einer Zeichenfolge verwendet. „ab“ steht für die zu kopierende Zeichenfolge und 2 für die Anzahl der Kopien

mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10 |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)

MySQL hängt eine Zeichenfolge an das Ende eines Felds in der Tabelle an:

mysql> select repeat('ab',2);
+----------------+
| repeat('ab',2) |
+----------------+
| abab |
+----------------+
1 row in set (0.00 sec)
又如mysql> select repeat('a',2);
+---------------+
| repeat('a',2) |
+---------------+
| aa |
+---------------+
1 row in set (0.00 sec)
MySQL hängt eine Zeichenfolge an den Anfang eines Felds in der Tabelle an

update table_name set field=CONCAT(field,'',str)

Diese Funktion kann für Sie eine große Hilfe sein! !

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in die Concat-Funktion in MySQL und der Beispielcode zum Hinzufügen von Zeichenfolgen vor/nach MySQL-Feldern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn