L'éditeur ci-dessous vous apportera une brève discussion sur la fonction concat dans mysql, et mysql ajoute string avant/après le champ. L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour jeter un œil
Comment utiliser la fonction concat dans MySQL :
CONCAT(str1,str2,…)
Le résultat renvoyé est la chaîne générée par les paramètres de connexion. Si un paramètre est NULL, la valeur de retour est NULL.
Remarque :
Si tous les arguments sont des chaînes non binaires, le résultat est une chaîne non binaire.
Si la variable self- contient une chaîne binaire, le résultat est une chaîne binaire.
Un paramètre numérique est converti dans son format de chaîne binaire équivalent ; pour éviter cela, utilisez un transtypage de type explicite, par exemple :
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
La fonction concat de MySQL peut connecter une ou plusieurs chaînes, telles que
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)
La fonction concat de MySQL Lors de la concaténation de chaînes, à condition que l'une des eux est NULL, NULL sera renvoyé >
Utilisation :
mysql> select concat('11','22',null); +------------------------+ | concat('11','22',null) | +------------------------+ | NULL | +------------------------+ 1 row in set (0.00 sec)
CONCAT_WS() signifie CONCAT With Separator et est une forme spéciale de CONCAT(). Le premier paramètre est le séparateur pour les autres paramètres . La position du délimiteur est placée entre les deux chaînes à concaténer. Le délimiteur peut être une chaîne ou d'autres paramètres.
Remarque :
CONCAT_WS(separator,str1,str2,...)
La différence avec la fonction concat dans MySQL est que la fonction concat_ws ne retournera pas en raison d'une valeur NULL lorsque exécuté. NULL
La fonction group_concat dans MySQL
mysql> select concat_ws(',','11','22','33'); +-------------------------------+ | concat_ws(',','11','22','33') | +-------------------------------+ | 11,22,33 | +-------------------------------+ 1 row in set (0.00 sec)
La syntaxe complète est la suivante :
mysql> select concat_ws(',','11','22',NULL); +-------------------------------+ | concat_ws(',','11','22',NULL) | +-------------------------------+ | 11,22 | +-------------------------------+ 1 row in set (0.00 sec)
group_concat ([DISTINCT] Champ à joindre [Champ de tri Order BY ASC/DESC] [Séparateur 'séparateur'])Requête de base
Regrouper par identifiant, imprimer la valeur du champ nom sur une seule ligne, séparée par des virgules (par défaut)
Regrouper par identifiant, imprimer la valeur du nom champ sur une ligne, séparé par un point-virgule
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)
Regrouper par identifiant, imprimer la valeur du champ de nom redondant sur une seule ligne,
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)
Comma séparés
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)
Regrouper par identifiant, imprimer la valeur du champ de nom sur une seule ligne, séparée par des virgules, dans l'ordre inverse par nom
La fonction répéter ()
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)
est utilisée pour copier une chaîne 'ab' représente la chaîne à copier, et 2 représente le nombre de copies.
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 ajoute une chaîne à la fin d'un champ de la table :
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)
Cette fonction peut vous être d'une grande aide ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!