Verwendungsmethode: concat(str1, str2,…)
Das zurückgegebene Ergebnis ist die durch den Verbindungsparameter generierte Zeichenfolge beliebig Wenn der Parameter null ist, ist der Rückgabewert null
Hinweis:
Wenn alle Parameter nicht-binäre Zeichenfolgen sind, ist das Ergebnis eine nicht-binäre Zeichenfolge
If Das Argument enthält eine beliebige Binärzeichenfolge. Das Ergebnis ist eine Binärzeichenfolge
. Ein numerischer Parameter wird in ein äquivalentes Binärzeichenfolgenformat konvertiert. Um dies zu vermeiden, können Sie beispielsweise eine explizite Typumwandlung verwenden :
select concat(cast(int_col as char), char_col);
1. Fügen Sie „,“ an beiden Enden des Feldes hinzumysql> select concat(',',name,',') from `user`;
+--------------------------+| concat(',',fdipzone,',') |
+--------------------------+| ,fdipzone, |
+--------------------------+1 row in set (0.00 sec)
2. Einer der Parameter ist nullmysql> select concat(null,name) from `user`;
+-------------------+| concat(null,name) |
+-------------------+| NULL |
+-------------------+1 row in set (0.00 sec)
Die Funktion concat_ws() ist eine Sonderform der Funktion concat(). Der erste Parameter ist das Trennzeichen für andere Parameter. Die Position des Trennzeichens liegt zwischen den beiden zu verkettenden Zeichenfolgen. Das Trennzeichen kann eine Zeichenfolge oder ein anderer Parameter sein.
Wenn das Trennzeichen null ist, ist das Ergebnis null.Die Funktion ignoriert Nullwerte nach jedem Trennzeichenparameter, aber concat_ws() ignoriert keine leeren Zeichenfolgen.
1. Verwenden Sie „,“, um mehrere Felder zu trennen mysql> select concat_ws(',',country_code,phone,region) from `user`;
+------------------------------------------+| concat_ws(',',country_code,phone,region) |
+------------------------------------------+| 86,13794830550,GZ |
+------------------------------------------+1 row in set (0.00 sec)
2 Das Symbol ist nullmysql> select concat_ws(null,country_code,phone,region) from `user`;
+-------------------------------------------+| concat_ws(null,country_code,phone,region) |
+-------------------------------------------+| NULL |
+-------------------------------------------+1 row in set (0.00 sec)
3 Es gibt Null- und Leerzeichenfolgen in den Parametern mysql> select concat_ws(',',country_code,phone,null,region,'',grade) from `user`;
+--------------------------------------------------------+| concat_ws(',',country_code,phone,null,region,'',grade) |
+--------------------------------------------------------+| 86,13794830550,GZ,,200 |
+--------------------------------------------------------+1 row in set (0.00 sec)
[SEPARATOR str_val] )
group_concat kann den Verbindungswert der Ausdruckskombination abrufen und „distinct“ verwenden, um doppelte Werte auszuschließen. Die Sortierung kann mithilfe der order by-Klausel erfolgen. Trennzeichen ist eine Zeichenfolge, die zum Trennen jedes Elements im Ergebnissatz verwendet wird. Der Standardwert ist Komma. Dieses Trennzeichen kann durch Angabe des Trennzeichens „“ vollständig entfernt werden.
Verwendungsbeispiel:
Tabellenstruktur
CREATE TABLE `article_in_category` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `article_id` int(11) unsigned NOT NULL, `category_id` int(11) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `article_id_INDEX` (`article_id`), KEY `category_id_INDEX` (`category_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `article_in_category` (`id`, `article_id`, `category_id`) VALUES (NULL, '1', '1'), (NULL, '1', '2'),(NULL, '1', '3'),(NULL, '2', '4'),(NULL, '2', '3'),(NULL, '2', '5'),(NULL, '3', '1'), (NULL, '3', '5'),(NULL, '3', '6'),(NULL, '4', '8');
mysql> select * from `article_in_category`; +----+------------+-------------+| id | article_id | category_id | +----+------------+-------------+| 1 | 1 | 1 | | 2 | 1 | 2 | | 3 | 1 | 3 | | 4 | 2 | 4 | | 5 | 2 | 3 | | 6 | 2 | 5 | | 7 | 3 | 1 | | 8 | 3 | 5 | | 9 | 3 | 6 || 10 | 4 | 8 | +----+------------+-------------+
mysql> select article_id,group_concat(category_id order by category_id asc) from `article_in_category` group by article_id; +------------+----------------------------------------------------+| article_id | group_concat(category_id order by category_id asc) | +------------+----------------------------------------------------+| 1 | 1,2,3 | | 2 | 3,4,5 | | 3 | 1,5,6 || 4 | 8 | +------------+----------------------------------------------------+4 rows in set (0.00 sec)
Ansicht die maximale Länge des Rückgabewerts von group_concat
mysql> show global variables like '%group_concat_max_len%'; +----------------------+-------+| Variable_name | Value | +----------------------+-------+| group_concat_max_len | 1024 | +----------------------+-------+
mysql> set global group_concat_max_len=2048; Query OK, 0 rows affected (0.03 sec)mysql> show global variables like '%group_concat_max_len%'; +----------------------+-------+| Variable_name | Value | +----------------------+-------+| group_concat_max_len | 2048 | +----------------------+-------+
Erklärung zum Umgang mit dem fehlgeschlagenen Neustart von MySQL Innodb und dem fehlgeschlagenen Neustart
Erklärung verwandter Inhalte Informationen zum Erhalten des angegebenen Datums in PHP
Detaillierte Erläuterung der PHP-Generierung einer eindeutigen RequestID-Klasse
Das obige ist der detaillierte Inhalt vonAnleitung zur Verwendung der MySQL-Funktionen concat und group_concat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!