Y at-il un moyen d'écrire une requête sql qui trouve toutes les lignes où la valeur du champ est une sous-chaîne d'une chaîne donnée.mysql: trouve les lignes qui ont un champ qui est une sous-chaîne de "chaîne"
Exemple:
table names
Name | Nickname
rohit iamrohitbanga
banga rohitnick
sinan unur
requête doit être quelque chose comme
select * from names where Name is a substring of "who is rohit"; // to get first row
select * from names where Nickname is a substring of "who is rohitnick"; // to get second row
select * from names where Name is a substring of "who is unur and banga"
or Nickname is substring of "who is unur and banga"; // to get second and third row
Comment est-il possible?
Si ce n'est pas possible alors je devrai obtenir ce comportement en Java. J'utilise jdbc: pilote mysql pour se connecter à la base de données.
Mise à jour vos solutions fonctionnent
maintenant un peu d'une torsion. si nous voulons vérifier si une sous-chaîne du champ se produit en tant que sous-chaîne de la chaîne que nous spécifions.
select * from names where Name is a substring of "who is sina"; // to get third row
Il est irrespectueux envers ceux qui ont fourni des réponses pour changer les critères par la suite. –
@iamrohitbanga: Je suis d'accord avec 'OMG Ponies'. Les affiches ne sont pas averties que vous avez modifié votre question, donc la plupart ne mettront pas à jour leurs réponses. Si votre problème initial est résolu, acceptez une réponse et n'hésitez pas à ajouter une autre question. De plus, je ne vois pas la différence entre votre nouvelle requête ('Name est la sous-chaîne de quelque chose') et les requêtes d'origine (' Name est la sous-chaîne de quelque chose') –
convenu! vous avez raison –