SUBSTRING_INDEX |
Sous chaîne de caractères index |
---|---|
MySQL |
Syntaxe
SubString_Index(Chaine,delim,Longueur) |
Paramètres
Nom | Description |
---|---|
Chaine | Ce paramètre permet d'indiquer la chaîne de caractères |
delim | Ce paramètre permet d'indiquer le séparateur dans la chaîne de caractères |
Longueur | Ce paramètre permet d'indiquer le nombre d'occurrence dans la chaîne de caractères de séparateur |
Description
Cette fonction permet de retourner la position indexé d'une sous-chaîne de caractères contenu dans une chaîne de caractères.
Exemples
Voici quelques exemples typiques de l'utilisation de cette fonction :
- SELECT "SubString_Index('Bonjour le monde !','o',1)=" As Text, SubString_Index('Bonjour le monde !','o',1) As Result UNION
- SELECT "SubString_Index('Bonjour le monde !',' ',4)=" As Text, SubString_Index('Bonjour le monde !',' ',4) As Result UNION
- SELECT "SubString_Index('Bonjour le monde !',' ',7)=" As Text, SubString_Index('Bonjour le monde !',' ',7) As Result
on obtiendra le résultat suivant :
Text | Result |
SubString_Index('Bonjour le monde !','o',1)= | B |
SubString_Index('Bonjour le monde !',' ',4)= | Bonjour le monde ! |
SubString_Index('Bonjour le monde !',' ',7)= | Bonjour le monde ! |
Prenons pour base la table «matable» avec le contenu suivant :
id | contenu |
---|---|
1 | {s:7:"MyID";"2594";s:3:"rel";s:1:"1"} |
2 | {s:7:"abc";s:4:"345";s:3:"rel";MyID:2745:"2"} |
3 | {s:7:"abc";s:4:"345";s:3:"rel";MyID:2633:"2"} |
Si vous voulez retourner tous les champs «MyID» de cette table vous entrez donc les instructions suivantes :
Un peu à la manière des meta d'un WordPress, Sachant que la table «generic_table» contient les données suivantes :
id | properties |
---|---|
1 | a:2:{s:13:"url_canonique";s:93:"http://www.gladir.com/CODER/C/page-test-ceci-est-un-article-exemple-avec-url-canonique-0001/1";s:21:"site_source_canonique";i:3;} |
2 | a:2:{s:13:"url_canonique";s:93:"http://www.gladir.com/CODER/B/page-test-ceci-est-un-article-exemple-avec-url-canonique-0002/1";s:21:"site_source_canonique";i:3;} |
On utilisera la requête suivante :
- SELECT id,SUBSTRING( SUBSTRING( SUBSTRING( properties, LOCATE( 'url_canonique', properties ) ) , LOCATE( 'http://', SUBSTRING( properties, LOCATE( 'url_canonique', properties ) ) ) ) , 1, LOCATE( '";s:', SUBSTRING( SUBSTRING( properties, LOCATE( 'url_canonique', properties ) ) , LOCATE( 'http://', SUBSTRING( properties, LOCATE( 'url_canonique', properties ) ) ) ) ) -1 ) AS urlArticle FROM generic_table
On obtiendra le résultat suivant :
id | urlArticle |
---|---|
1 | http://www.gladir.com/CODER/C/page-test-ceci-est-un-article-exemple-avec-url-canonique-0001/1 |
2 | http://www.gladir.com/CODER/B/page-test-ceci-est-un-article-exemple-avec-url-canonique-0002/1 |
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Mercredi, le 29 avril 2015