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