Dans MySQL, le SUBSTR()
La fonction renvoie une sous-chaîne à partir de la position spécifiée.
Les deux SUBSTR()
et MID()
sont des synonymes de SUBSTRING()
.
Syntaxe
La syntaxe de base ressemble à ceci :
SUBSTR(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 :
SUBSTR(str,pos) SUBSTR(str FROM pos) SUBSTR(str,pos,len) SUBSTR(str FROM pos FOR len)
Ceux-ci sont illustrés dans les exemples suivants.
Exemple 1 - Utilisation de base
Voici un exemple de SUBSTR(str,pos)
syntaxe :
SELECT SUBSTR('I play the drums', 3) Result;
Résultat :
+----------------+ | Result | +----------------+ | play the drums | +----------------+
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 SUBSTR(str FROM pos)
syntaxe :
SELECT SUBSTR('I play the drums' FROM 3) Result;
Résultat :
+----------------+ | Result | +----------------+ | play the drums | +----------------+
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 SUBSTR(str,pos,len)
syntaxe :
SELECT SUBSTR('I play the drums', 3, 4) Result;
Résultat :
+--------+ | Result | +--------+ | play | +--------+
Ici, je précise que la sous-chaîne renvoyée doit comporter 4 caractères.
Exemple 4 - Spécifier une longueur (à l'aide de la clause FOR)
Dans cet exemple, j'utilise le SUBSTR(str FROM pos FOR len)
syntaxe :
SELECT SUBSTR('I play the drums' FROM 3 FOR 5) Result;
Résultat :
+--------+ | Result | +--------+ | play | +--------+
Donc, cette fois, nous avons utilisé le SQL standard pour obtenir le même résultat