Mysql
 sql >> Base de données >  >> RDS >> Mysql

Fonctionnement de la fonction MID() dans MySQL

Dans MySQL, le MID() La fonction renvoie une sous-chaîne à partir de la position spécifiée.

Les deux MID() et SUBSTR() sont des synonymes de SUBSTRING() .

Syntaxe

La syntaxe de base ressemble à ceci :

MID(str,pos,len)

Ici, str est la chaîne, pos est la position à partir de laquelle commencer la sous-chaîne, et len est un argument facultatif qui détermine le nombre de caractères à renvoyer à partir de cette position de départ.

Il existe plusieurs variantes sur la façon dont vous pouvez utiliser cette fonction, donc la gamme complète de syntaxes ressemble à ceci :

MID(str,pos)
MID(str FROM pos)
MID(str,pos,len)
MID(str FROM pos FOR len)

Ceux-ci sont illustrés dans les exemples suivants.

Exemple 1 - Utilisation de base

Voici un exemple de MID(str,pos) syntaxe :

SELECT MID('I drink coffee', 3) Result;

Résultat :

+--------------+
| Result       |
+--------------+
| drink coffee |
+--------------+

Dans cet exemple, je prends une sous-chaîne de la chaîne, en commençant à la position 3.

Exemple 2 – Utilisation de la clause FROM

Voici comment faire la même chose, mais cette fois en utilisant le MID(str FROM pos) syntaxe :

SELECT MID('I drink coffee' FROM 3) Result;

Résultat :

+--------------+
| Result       |
+--------------+
| drink coffee |
+--------------+

Nous obtenons donc le même résultat.

Dans ce cas, FROM est le SQL standard. Notez que cette syntaxe n'utilise pas de virgules.

Exemple 3 - Spécifier une longueur

Dans cet exemple, j'utilise le MID(str,pos,len) syntaxe :

SELECT MID('I drink coffee', 3, 5) Result;

Résultat :

+--------+
| Result |
+--------+
| drink  |
+--------+

Ici, je précise que la sous-chaîne renvoyée doit comporter 5 caractères.

Exemple 4 - Spécifier une longueur (à l'aide de la clause FOR)

Dans cet exemple, j'utilise le MID(str FROM pos FOR len) syntaxe :

SELECT MID('I drink coffee' FROM 3 FOR 5) Result;

Résultat :

+--------+
| Result |
+--------+
| drink  |
+--------+

Donc, cette fois, nous avons utilisé le SQL standard pour obtenir le même résultat