Section courante

A propos

Section administrative du site

LOCATE

Emplacement
MySQL  

Syntaxe

Locate(Sous-Chaine,Chaine [,PositionDépart])

Paramètres

Nom Description
Sous-Chaine Ce paramètre permet d'indiquer la chaine de caractères contenant la chaine à rechercher
Chaine Ce paramètre permet d'indiquer la chaine de caractères contenant la source dans lequel il faudra chercher
PositionDépart Ce paramètre permet d'indiquer la position en nombre de caractères de début où commence la recherche

Description

Cette fonction retourne la position d'une sous-chaîne de caractères contenus dans une chaine de caractères et 0 si elle ne s'y trouve pas.

Remarques

Exemples

Voici quelques exemples typiques de l'utilisation de cette fonction :

  1. SELECT 'Locate("Mal","Sylvain Maltais")= ' As Text, Locate('Mal','Sylvain Maltais') As Result UNION
  2. SELECT 'Locate("a","Sylvain Maltais") = ' As Text, Locate('a','Sylvain Maltais')  As Result UNION
  3. SELECT 'Locate("a","Sylvain Maltais",1) = ' As Text, Locate('a','Sylvain Maltais',1)  As Result UNION
  4. SELECT 'Locate("a","Sylvain Maltais",8) = ' As Text, Locate('a','Sylvain Maltais',8) As Result

on obtiendra le résultat suivant :

Text Result
Locate("Mal","Sylvain Maltais")= 9
Locate("a","Sylvain Maltais") = 5
Locate("a","Sylvain Maltais",1) = 5
Locate("a","Sylvain Maltais",8) = 10

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 :

  1. SELECT id,LOCATE('MyID',contenu),SUBSTRING(contenu,LOCATE('MyID',contenu)) FROM `matable` WHERE contenu LIKE '%MyID%'

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 :

  1. 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

Références

MySQL - Référence, Edition Micro Application, Nicolas Rivereau, Antoine Pichot, 2002, ISBN: 2-7429-2560-0, page 934.
MySQL: The definitive guide to using, programming, and administering MySQL 4 databases - Second Edition, Paul Dubois, 2003, ISBN: 0-7357-1212-3, page 813

Dernière mise à jour : Vendredi, le 4 septembre 2015