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,...)
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)
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!