Maison > base de données > tutoriel mysql > Introduction détaillée aux fonctions de caractères MySQL

Introduction détaillée aux fonctions de caractères MySQL

黄舟
Libérer: 2017-02-27 13:19:59
original
1144 Les gens l'ont consulté



Concaténation de caractères CONCAT() et CONCAT_WS()

mysql> SELECT CONCAT('mysql','5.6');
+-----------------------+
| CONCAT('mysql','5.6') |
+-----------------------+
| mysql5.6              |
+-----------------------+
1 row in set (0.09 sec)

mysql> SELECT CONCAT('mysql','-','5.6');
+---------------------------+
| CONCAT('mysql','-','5.6') |
+---------------------------+
| mysql-5.6                 |
+---------------------------+
1 row in set (0.00 sec)
Copier après la connexion


Par exemple : concaténer le prénom et le nom de l'utilisateur en une chaîne

mysql> SELECT * FROM tdb_test;
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  1 | A          | B         |
|  2 | Jack       | Bob       |
|  3 | tom%       | 123       |
+----+------------+-----------+
3 rows in set (0.00 sec)

mysql> SELECT CONCAT(first_name,last_name) AS fullname FROM tdb_test;
+----------+
| fullname |
+----------+
| AB       |
| JackBob  |
| tom%123  |
+----------+
3 rows in set (0.00 sec)
Copier après la connexion


CONCAT_WS( ) est le délimiteur, suivi des caractères à connecter

mysql> SELECT CONCAT_WS('|','A','B','C');
+----------------------------+
| CONCAT_WS('|','A','B','C') |
+----------------------------+
| A|B|C                      |
+----------------------------+
1 row in set (0.00 sec)
mysql> SELECT CONCAT_WS('-','mysql','5.6');
+------------------------------+
| CONCAT_WS('-','mysql','5.6') |
+------------------------------+
| mysql-5.6                    |
+------------------------------+
1 row in set (0.00 sec)
Copier après la connexion


FORMAT() formatage des nombres

mysql> SELECT FORMAT(12560.75,1);
+--------------------+
| FORMAT(12560.75,1) |
+--------------------+
| 12,560.8           |
+--------------------+
1 row in set (0.01 sec)

LOWER()和 UPPER()
mysql> SELECT LOWER('MySql');
+----------------+
| LOWER('MySql') |
+----------------+
| mysql          |
+----------------+
1 row in set (0.00 sec)
mysql> SELECT UPPER('MySql');
+----------------+
| UPPER('MySql') |
+----------------+
| MYSQL          |
+----------------+
1 row in set (0.00 sec)
Copier après la connexion


LEFT() et RIGHT()

ont respectivement deux paramètres, le premier est la chaîne utilisée et le second est d'obtenir le nombre de

, par exemple, obtenez les deux premiers chiffres de MySQL

mysql> SELECT LEFT('MySQL',2);
+-----------------+
| LEFT('MySQL',2) |
+-----------------+
| My              |
+-----------------+
1 row in set (0.00 sec)
Copier après la connexion


, par exemple, obtenez les deux derniers chiffres de MySQL

mysql> SELECT RIGHT('MySQL',2);
+------------------+
| RIGHT('MySQL',2) |
+------------------+
| QL               |
+------------------+
1 row in set (0.00 sec)
Copier après la connexion


LENGTH obtient la longueur de la chaîne

mysql> SELECT LENGTH('MySQL');
+-----------------+
| LENGTH('MySQL') |
+-----------------+
|               5 |
+-----------------+
1 row in set (0.02 sec)
Copier après la connexion


LTRIM,RTRIM,TRIM

Par exemple, utiliser directement SELECT TRIM(' mysql ');

supprimera les espaces avant et après mysql. LTRIM supprimera uniquement les espaces de gauche et RTRIM supprimera uniquement les espaces de gauche. espaces à droite.


Autre utilisation : utilisez TRIM() pour supprimer des caractères spécifiques sur les côtés gauche et droit.

Par exemple :

mysql> SELECT TRIM(LEADING '?' FROM '??MySQL???');
+-------------------------------------+
| TRIM(LEADING '?' FROM '??MySQL???') |
+-------------------------------------+
| MySQL???                            |
+-------------------------------------+
1 row in set (0.02 sec)
mysql> SELECT TRIM(TRAILING '?' FROM '??MySQL???');
+--------------------------------------+
| TRIM(TRAILING '?' FROM '??MySQL???') |
+--------------------------------------+
| ??MySQL                              |
+--------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT TRIM(BOTH '?' FROM '??MySQL???');
+----------------------------------+
| TRIM(BOTH '?' FROM '??MySQL???') |
+----------------------------------+
| MySQL                            |
+----------------------------------+
1 row in set (0.01 sec)
Copier après la connexion

Remarque : TRIM() ne peut supprimer que les caractères de début et de suite, mais pas les caractères du milieu, tels que TRIM('My SQL'); ne peut pas être supprimé Perdre.

Remplacement de chaîne REPLACE()

Par exemple, remplacez le ?? dans ??Mon??SQL??? Remplacez-le par une chaîne vide

mysql> SELECT REPLACE('??My??SQL???','?','');
+--------------------------------+
| REPLACE('??My??SQL???','?','') |
+--------------------------------+
| MySQL                          |
+--------------------------------+
1 row in set (0.00 sec)
Copier après la connexion


SUBSTRING() pour intercepter les paramètres contenus dans

, intercepter à partir du nombre de Plusieurs.

mysql> SELECT SUBSTRING('MySQL',1,2);
+------------------------+
| SUBSTRING('MySQL',1,2) |
+------------------------+
| My                     |
+------------------------+
1 row in set (0.00 sec)
Copier après la connexion


Il convient de noter que, contrairement aux langages de programmation, le premier bit est 1 et non 0.

Si vous ne partez que du numéro et n'en interceptez pas quelques-uns, il sera intercepté jusqu'à la fin.

mysql> SELECT SUBSTRING('MySQL',3);
+----------------------+
| SUBSTRING('MySQL',3) |
+----------------------+
| SQL                  |
+----------------------+
1 row in set (0.00 sec)
Copier après la connexion


La position peut également être négative (en comptant à rebours)

mysql> SELECT SUBSTRING('MySQL',-1);
+-----------------------+
| SUBSTRING('MySQL',-1) |
+-----------------------+
| L                     |
+-----------------------+
1 row in set (0.04 sec)
Copier après la connexion


Remarque, seul Le la position de départ peut avoir une valeur négative, mais la longueur d'interception ne peut pas avoir une valeur négative.

Correspondance de modèle LIKE (couramment utilisée dans les requêtes)

mysql> SELECT 'MySQL' LIKE 'M%';
+-------------------+
| 'MySQL' LIKE 'M%' |
+-------------------+
|                 1 |
+-------------------+
1 row in set (0.00 sec)
Copier après la connexion


% fait référence à un ou plusieurs chiffres

mysql> SELECT * FROM tdb_test;
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  1 | A          | B         |
|  2 | Jack       | Bob       |
|  3 | tom%       | 123       |
+----+------------+-----------+
3 rows in set (0.00 sec)
Copier après la connexion


Par exemple, requête, utilisateurs dont les noms contiennent o

mysql> SELECT * FROM tdb_test WHERE first_name LIKE '%o%';
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  3 | tom%       | 123       |
+----+------------+-----------+
1 row in set (0.00 sec)
Copier après la connexion


Par exemple, requête, utilisateurs dont les noms contiennent % d'utilisateurs

mysql> SELECT * FROM tdb_test WHERE first_name LIKE '%%%';
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  1 | A          | B         |
|  2 | Jack       | Bob       |
|  3 | tom%       | 123       |
+----+------------+-----------+
3 rows in set (0.00 sec)
Copier après la connexion


发现显示的是所有查询结果。因为mysql会认为上述的%都为通配符。正确操作如下

mysql> SELECT * FROM tdb_test WHERE first_name LIKE '%1%%' ESCAPE '1';
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  3 | tom%       | 123       |
+----+------------+-----------+
1 row in set (0.00 sec)
Copier après la connexion


注:%:任意个字符.

_:任意一个字符。

 以上就是MySQL字符函数的详细介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!






Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal