Bonjour
Est-il possible en SQL de faire un where d'une colonne contenant (ou pas) un substring d'une autre colonne avec la sytaxe contains ?
Je ne comprends pas tres bien l'usage du contains car je peux le faire avec un like
Merci de votre aide
Bonjour
Est-il possible en SQL de faire un where d'une colonne contenant (ou pas) un substring d'une autre colonne avec la sytaxe contains ?
Je ne comprends pas tres bien l'usage du contains car je peux le faire avec un like
Merci de votre aide
CONTAINS ne fait pas partie des mots réservés du langage SQL !
Si le LIKE répond à ton besoin, utilises-le !
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Merci CINEPHIL
Et peux tu dire dans quel contexte Contains qui semble présent en MS SQL serait pertinent ?
Ça permet beaucoup plus d'options qu'un simple LIKE, on est plus dans la recherche textuelle que dans la comparaison d'une colonne à une valeur.
La doc Microsoft est assez complète sur ce sujet :
http://msdn.microsoft.com/fr-fr/library/ms187787.aspx
Merci Waldar
Mais a la lecture (rapide) de cette doc je n'ai toujours pas clairement compris ce que CONTAINS peut faire qu'on ne peut pas faire avec un LIKE
Et en cherchant sur Google je ne suis manifestement pas le seul a me poser cette question
J'utilise donc toujours un Like qui satisfait pleinement le besoin
Avec un LIKE, la recherche porte sur la chaîne de caractère exacte :
Pourra donner comme résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT les_colonnes FROM la_table WHERE une_colonne LIKE '%part%'
- Particulier
- Appartement
- Départ
D'après la doc, CONTAINS comporte un argument qui précise la nature de la recherche. On pourra ne retenir avec CONTAINS que les mots dont le préfixe est 'part' et éliminer de la liste ci-dessus les deux derniers mots.
OK, ça peut aussi se faire avec un LIKE 'part%' ! Mais il y a d'autres options au CONTAINS non réalisables avec un LIKE.
Ceci dit, ce n'est pas du SQL Standard, si j'en crois la liste de mots dont j'ai donné le lien dans un autre message plus haut.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Partager