Dans MySQL, le SUBSTRING()
La fonction vous permet de renvoyer une sous-chaîne à partir d'une chaîne. Vous pouvez donc utiliser cette fonction pour saisir une portion de texte à partir d'un plus grand morceau de texte.
Il existe plusieurs façons d'utiliser le SUBSTRING()
fonction, et cela affecte la syntaxe.
Exemple 1 - Utilisation de base
L'utilisation la plus basique ressemble à ceci :
SUBSTRING(str,pos)
Dans ce cas, str
est la chaîne, et pos
est la position à partir de laquelle commencer la sous-chaîne.
Voici un exemple de cette syntaxe de base :
SELECT SUBSTRING('Cats and dogs', 6);
Résultat :
and dogs
Dans cet exemple, nous prenons une sous-chaîne de la chaîne Cats and dogs
, à partir de la position 6.
Exemple 2 – Utilisation de la clause FROM
Une autre façon de procéder :
SUBSTRING(str FROM pos)
Dans ce cas, FROM
est le SQL standard. Notez que cette syntaxe n'utilise pas de virgules.
Voici le même exemple que le précédent, sauf qu'ici nous l'avons changé pour utiliser le FROM
syntaxe :
SELECT SUBSTRING('Cats and dogs' FROM 6);
Résultat :
and dogs
Nous obtenons donc le même résultat.
Exemple 3 - Ajouter une longueur pour la sous-chaîne
Vous pouvez également ajouter une longueur :
SUBSTRING(str,pos,len)
Ici, len
est la longueur de la sous-chaîne à renvoyer. Cela nous permet de renvoyer une sous-chaîne avec une longueur spécifiée.
Voici un exemple :
SELECT SUBSTRING('Cats and dogs', 6, 3);
Résultat :
and
Donc, dans ce cas, nous choisissons de ne renvoyer que 3 caractères à partir de la position de départ.
Exemple 4 - Utilisation de FOR
Enfin, lors de l'utilisation de FROM
, vous pouvez également ajouter le FOR
pour fournir la longueur.
SUBSTRING(str FROM pos FOR len)
Et voici le même exemple que le précédent, sauf qu'ici nous utilisons le FROM
clause ainsi que FOR
:
SELECT SUBSTRING('Cats and dogs' FROM 6 FOR 3);
Résultat :
and
Ainsi, comme dans l'exemple précédent, cela sélectionne 3 caractères à partir de la position de départ.
Exemple 5 – Compter à rebours
Vous pouvez également utiliser une valeur négative pour la position de départ. Dans ce cas, la position est prise en comptant à rebours à partir de la fin de la chaîne :
SELECT SUBSTRING('Cats and dogs', -6);
Résultat :
d dogs
Exemple 6 - La fonction SUBSTR()
Vous pouvez également utiliser SUBSTR()
qui est synonyme de SUBSTRING()
. Ainsi, n'importe lequel des exemples précédents pourrait être réécrit en utilisant SUBSTR()
à la place.
Exemple :
SELECT SUBSTR('Cats and dogs', 6);
Résultat :
and dogs
Exemple 7 - La fonction MID()
Et il y a encore un autre synonyme pour SUBSTRING()
– le MID()
une fonction. Ainsi, n'importe lequel des exemples précédents pourrait être réécrit en utilisant MID()
à la place.
Exemple :
SELECT MID('Cats and dogs', 6);
Résultat :
and dogs