Maison >base de données >tutoriel mysql >Résumez les fonctions de chaîne couramment utilisées dans MySQL !
Une fonction de base de données est un module avec une certaine fonction qui peut recevoir zéro ou plusieurs valeurs d'entrée et renvoyer une valeur de sortie. MySQL nous fournit de nombreuses fonctions système pour traiter et analyser les données. Cet article présente 10 fonctions de chaîne couramment utilisées, ainsi que d'autres fonctions associées. La fonction
CONCAT()
CONCAT(str1,str2,…)) est utilisée pour renvoyer une chaîne après avoir concaténé plusieurs chaînes, par exemple :
SELECT CONCAT('MySQL', '字符串', '函数') AS str;
Si un paramètre de cette fonction est NULL, le résultat renvoyé est NULL. Par exemple :
SELECT CONCAT('MySQL', NULL, '函数') AS str;
Pour les constantes chaîne, nous pouvons également les écrire directement ensemble. Par exemple :
SELECT 'MySQL' '字符串' '函数' AS str;
La méthode ci-dessus ne peut être utilisée que pour connecter des constantes de chaîne et ne peut pas être utilisée pour connecter des valeurs de champ.
Si le mode SQL PIPES_AS_CONCAT est activé, l'opérateur logique OU MySQL (||) peut également être utilisé pour concaténer des chaînes, similaire à Oracle et PostgreSQL.
En plus de la fonction CONCAT(str1,str2,…)), la fonction CONCAT_WS(separator,str1,str2,…)) signifie utiliser le séparateur spécifié pour connecter plusieurs chaînes. Si le séparateur est NULL, NULL le fera. être restitué. Par exemple : les fonctions
SELECT CONCAT_WS('-', 'MySQL', NULL, '字符串') AS str1,
LOWER()
LOWER(str) et LCASE(str) sont utilisées pour convertir des chaînes en minuscules, par exemple :
SELECT LOWER('MySQL字符串函数') AS str1, LCASE('MySQL字符串函数') AS str2;
Les fonctions de conversion de casse MySQL ne prennent pas en charge les chaînes binaires (BINARY, VARBINARY, BLOB )), qui peut être convertie en chaîne non binaire puis traitée. Par exemple : les fonctions
SELECT LOWER(BINARY 'MySQL字符串函数') AS str1,
UPPER()
UPPER(str) et UCASE(str) sont utilisées pour convertir des chaînes en majuscules, par exemple :
SELECT UPPER('MySQL字符串函数') AS str1, UCASE('MySQL字符串函数') AS str2;
LENGTH()
LENGTH(str) et OCTET_LENGTH(str) fonctions Utilisé pour renvoyer la longueur en octets d'une chaîne, par exemple :
SELECT LENGTH('MySQL字符串函数') AS len1, OCTET_LENGTH('MySQL字符串函数') AS len2;
Dans l'encodage utf8mb4, un caractère chinois occupe 3 octets.
De plus, les fonctions CHAR_LENGTH(str) et CHARACTER_LENGTH(str) sont utilisées pour renvoyer la longueur des caractères de la chaîne, qui est le nombre de caractères. Par exemple : la fonction
SELECT CHAR_LENGTH('MySQL字符串函数') AS len1, CHARACTER_LENGTH('MySQL字符串函数') AS len2;
BIT_LENGTH(str) est utilisée pour renvoyer la longueur en bits (nombre de bits) d'une chaîne, par exemple :
SELECT BIT_LENGTH('MySQL字符串函数') AS len;
Un octet contient 8 bits. Les fonctions
SUBSTRING()
SUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len) et SUBSTRING(str FROM pos FOR len) peuvent toutes être utilisées pour renvoyer les données à partir du position spécifiée pos Sous-chaîne, len signifie renvoyer la longueur de la sous-chaîne ; pos est 0 signifie renvoyer une chaîne vide. Par exemple :
SELECT SUBSTRING('MySQL字符串函数', 6) AS str1,
Le paramètre positionnel pos peut être un nombre négatif, auquel cas la sous-chaîne renvoyée commence à partir du caractère pos sur le côté droit de la chaîne. Par exemple :
SELECT SUBSTRING('MySQL字符串函数', -2) AS str1,
De plus, les fonctions SUBSTR() et MID() sont des synonymes de la fonction SUBSTRING() et prennent également en charge les 4 formes ci-dessus. La fonction
LEFT(str,len) renvoie les caractères len sur le côté gauche de la chaîne str, et la fonction RIGHT(str,len) renvoie les caractères len sur le côté droit de la chaîne str. Par exemple : la fonction
SELECT LEFT('MySQL字符串函数',5) AS str1,
SUBSTRING_INDEX(str,delim,count) renvoie la sous-chaîne avant le délimiteur de nombre. Si count est positif, compte à partir de la gauche et renvoie tous les caractères à gauche ; si count est négatif, compte à partir de la droite et renvoie tous les caractères à droite. Par exemple : la fonction
SELECT SUBSTRING_INDEX('张三;李四;王五', ';', 2) AS str1,[object Object]
TRIM()
TRIM([remstr FROM] str) est utilisée pour renvoyer la sous-chaîne après avoir supprimé toutes les chaînes remstr des deux côtés de la chaîne Remstr est par défaut des espaces. Par exemple : la fonction
SELECT TRIM(' MySQL字符串函数 ') AS str1,
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) est utilisée pour renvoyer la sous-chaîne après avoir supprimé toutes les chaînes remstr des deux côtés/côté gauche/droit de la chaîne str. Par défaut. , les deux sont supprimés Chaîne latérale (BOTH), remstr est par défaut des espaces. Par exemple : la fonction
SELECT TRIM(LEADING ' ' FROM ' MySQL字符串函数 ') AS str1,
LPAD()/RPAD()
LPAD(str,len,padstr) signifie que le côté gauche de la chaîne str est complété par padstr jusqu'à ce que la longueur soit RPAD(str,len,padstr; ) signifie que Padstr est complété sur le côté droit de la chaîne str jusqu'à ce que la longueur soit len. Par exemple :
SELECT LPAD(123, 6, '0') AS str1, LPAD(123, 2, '0') AS str2,
Lorsque la longueur de la chaîne str est supérieure à len, cela équivaut à tronquer la chaîne du côté droit.
De plus, la fonction REPEAT(str,count) est utilisée pour copier la chaîne str count times et renvoyer le résultat.
Par exemple :
INSTR()
INSTR (str,substr) La fonction est utilisée pour renvoyer la position d'index de la première occurrence de la sous-chaîne substr dans la chaîne str. Si la sous-chaîne n'est pas trouvée, 0. est restitué. Par exemple :
select INSTR('MySQL字符串函数', '字符串') AS index1,
De plus, la fonction LOCATE (substr,str) peut également être utilisée pour renvoyer la position d'index de la première occurrence de la sous-chaîne substr dans la chaîne str La seule différence avec INSTR (str,substr) la fonction est l'ordre des paramètres au contraire. La fonction
LOCATE (substr,str,pos) renvoie la position d'index de la première occurrence de la sous-chaîne substr dans la chaîne str à partir de la position pos, par exemple :
SELECT LOCATE('S','MySQL Server', 5) AS ind;
FIELD (str,str1,str2,str3,…) fonction Renvoie la position où la chaîne str apparaît dans la liste de chaînes suivante, ou renvoie 0 si elle n'est pas trouvée. Par exemple :
SELECT FIELD('李四', '张三', '李四', '王五') AS ind;
FIND_IN_SET (str,strlist) La fonction renvoie la position où la chaîne str apparaît dans la liste. La chaîne strlist est composée de N sous-chaînes séparées par des virgules. Par exemple : la fonction
SELECT FIND_IN_SET('李四', '张三,李四,王五') AS ind;
REPLACE()
REPLACE (str,from_str,to_str) est utilisée pour remplacer tout from_str dans la chaîne str par to_str et renvoyer la chaîne remplacée. Par exemple :
SELECT REPLACE('MySQL字符串函数', '字符串', '日期') AS str1,
另外,INSERT (str,pos,len,newstr) 函数用于在字符串 str 的指定位置 pos 之后插入子串 newstr,替换随后的 len 个字符。例如:
SELECT INSERT('MySQL字符串函数', 6, 3, '日期') AS str;
REVERSE()
REVERSE (str) 函数用于将字符串 str 中的字符顺序进行反转。例如:
SELECT REVERSE('上海自来水来自海上')='上海自来水来自海上' AS "回文";
推荐学习:《mysql视频教程》
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!