Apres avoir parcouru la documentation de MySQL, je n'ai pas trouve
de reponse.
Je voudrais creer des requetes cherchant une chaine de caracteres
dans un des champs d'une table, mais en mode approximatif.
Par exemple, si ma table contient :
+---+------------------------------------------+
| 1 | I like seafood. |
| 2 | I would like to eat seafood. |
| 3 | You have a blue car. |
+---+------------------------------------------+
...j'aimerais trouver les lignes qui contiennent _approximativement_
le mot 'seafod' (avec un seul 'o'), c'est-a-dire les lignes 1 et 2.
SQL propose bien des jokers comme '%' ou '_' mais ils ne permettent pas
de faire ce type de recherche.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thibaut Allender
on 7/06/2004 11:17, Erwann Thoraval wrote :
+---+------------------------------------------+ | 1 | I like seafood. | | 2 | I would like to eat seafood. | | 3 | You have a blue car. | +---+------------------------------------------+
...j'aimerais trouver les lignes qui contiennent _approximativement_ le mot 'seafod' (avec un seul 'o'), c'est-a-dire les lignes 1 et 2.
SQL propose bien des jokers comme '%' ou '_' mais ils ne permettent pas de faire ce type de recherche.
hello,
regarde du coté de soundex() details sur http://dev.mysql.com/doc/mysql/en/String_functions.html
+---+------------------------------------------+
| 1 | I like seafood. |
| 2 | I would like to eat seafood. |
| 3 | You have a blue car. |
+---+------------------------------------------+
...j'aimerais trouver les lignes qui contiennent _approximativement_
le mot 'seafod' (avec un seul 'o'), c'est-a-dire les lignes 1 et 2.
SQL propose bien des jokers comme '%' ou '_' mais ils ne permettent pas
de faire ce type de recherche.
hello,
regarde du coté de soundex()
details sur http://dev.mysql.com/doc/mysql/en/String_functions.html
+---+------------------------------------------+ | 1 | I like seafood. | | 2 | I would like to eat seafood. | | 3 | You have a blue car. | +---+------------------------------------------+
...j'aimerais trouver les lignes qui contiennent _approximativement_ le mot 'seafod' (avec un seul 'o'), c'est-a-dire les lignes 1 et 2.
SQL propose bien des jokers comme '%' ou '_' mais ils ne permettent pas de faire ce type de recherche.
hello,
regarde du coté de soundex() details sur http://dev.mysql.com/doc/mysql/en/String_functions.html
non, soundex n'est pas spécialement adapté qu'à la langue anglaise... Mais en revanche Soundex n'est fait que pour traiter des noms pas des mots.
A +
Bruno Baguette a écrit:
Thibaut Allender wrote:
regarde du coté de soundex() details sur http://dev.mysql.com/doc/mysql/en/String_functions.html
Bonjour,
Pas grand chose à rajouter si ce n'est que soundex() ne fonctionne qu'avec des mots en anglais, à ma connaissance.
Les résultats de soundex avec des mots en français sont assez aléatoires.
Cordialement,
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Fred BROUARD - SQLpro
il n'existe aucune fonction simple permettant ce genre de recherche.
En revanche il existe une multitude de techniques toutes plus ou moins complexes et lourdes...
Le plus simple étant de faire une indexation textuelle et proposer des mots "dégradés" si la correspondance exacte n'est pas trouvée...
A lire : http://sqlpro.developpez.com/IndxTxt/SQL_IndxTXT.html
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Erwann Thoraval a écrit:
Bonjour,
Apres avoir parcouru la documentation de MySQL, je n'ai pas trouve de reponse.
Je voudrais creer des requetes cherchant une chaine de caracteres dans un des champs d'une table, mais en mode approximatif.
Par exemple, si ma table contient :
+---+------------------------------------------+ | 1 | I like seafood. | | 2 | I would like to eat seafood. | | 3 | You have a blue car. | +---+------------------------------------------+
...j'aimerais trouver les lignes qui contiennent _approximativement_ le mot 'seafod' (avec un seul 'o'), c'est-a-dire les lignes 1 et 2.
SQL propose bien des jokers comme '%' ou '_' mais ils ne permettent pas de faire ce type de recherche.
Si quelqu'un a des pistes...
il n'existe aucune fonction simple permettant ce genre de recherche.
En revanche il existe une multitude de techniques toutes plus ou moins complexes et lourdes...
Le plus simple étant de faire une indexation textuelle et proposer des mots "dégradés" si la correspondance exacte n'est
pas trouvée...
A lire :
http://sqlpro.developpez.com/IndxTxt/SQL_IndxTXT.html
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Erwann Thoraval a écrit:
Bonjour,
Apres avoir parcouru la documentation de MySQL, je n'ai pas trouve
de reponse.
Je voudrais creer des requetes cherchant une chaine de caracteres
dans un des champs d'une table, mais en mode approximatif.
Par exemple, si ma table contient :
+---+------------------------------------------+
| 1 | I like seafood. |
| 2 | I would like to eat seafood. |
| 3 | You have a blue car. |
+---+------------------------------------------+
...j'aimerais trouver les lignes qui contiennent _approximativement_
le mot 'seafod' (avec un seul 'o'), c'est-a-dire les lignes 1 et 2.
SQL propose bien des jokers comme '%' ou '_' mais ils ne permettent pas
de faire ce type de recherche.
il n'existe aucune fonction simple permettant ce genre de recherche.
En revanche il existe une multitude de techniques toutes plus ou moins complexes et lourdes...
Le plus simple étant de faire une indexation textuelle et proposer des mots "dégradés" si la correspondance exacte n'est pas trouvée...
A lire : http://sqlpro.developpez.com/IndxTxt/SQL_IndxTXT.html
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Erwann Thoraval a écrit:
Bonjour,
Apres avoir parcouru la documentation de MySQL, je n'ai pas trouve de reponse.
Je voudrais creer des requetes cherchant une chaine de caracteres dans un des champs d'une table, mais en mode approximatif.
Par exemple, si ma table contient :
+---+------------------------------------------+ | 1 | I like seafood. | | 2 | I would like to eat seafood. | | 3 | You have a blue car. | +---+------------------------------------------+
...j'aimerais trouver les lignes qui contiennent _approximativement_ le mot 'seafod' (avec un seul 'o'), c'est-a-dire les lignes 1 et 2.
SQL propose bien des jokers comme '%' ou '_' mais ils ne permettent pas de faire ce type de recherche.