[SQL] requette avec un LIKE mais inversé

requette avec un LIKE mais inversé [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 28-04-2004 à 22:26:35    

voila mon soucis :  
 
le like c : champ LIKE %data% et ca te ressort ce qui contient data dans le champ précisé
 
 
seulement moi j'ai ca :  
une sequence aaa-bbb-ccc-def-frg
et je voudrai qu'il me ressort les champs qui sont un extrait de ces données là  (voir meme ceux qui ont el meme debut)
genre :  
aaa-bbb
aaa-bbb-ccc-def-frg
aaa-bbb-ccc  
 
mais pas  
aaa-ddd
ni aaa-bbb-ccc-def-frg-e
 
sachant que le nombre de zones n'est pas definis ...

Reply

Marsh Posté le 28-04-2004 à 22:26:35   

Reply

Marsh Posté le 29-04-2004 à 11:56:33    

Oui, inverser un like est faisable.
Dans ton cas, cela ressemblerais à : ... data LIKE champ%
 
En Oracle par exemple : ... 'aaa-bbb-ccc-def-frg' LIKE champ||'%'
 
Si tu cherches des traitements plus fins sur les recherches de séquences (génétiques ? on dirait des codons, tes trucs), je te conseille des traitements procéduraux avec curseur.

Reply

Marsh Posté le 29-04-2004 à 19:09:00    

ca passe comme ca en SQL ??
 
ah mer j'suis sur le cul !
j'ai esssayé mais c pas passé !
 
nan ca pas allez chercher bien loin  
 
c pour gerer un arbre dans une table SQL.  
l'arbre ne bougeant pas de trop, a defaut de pouvoir en 1 requete concatener tout les morceaux d'un coup, j'ai inscrit tout le chemin.


Message édité par jolly le 29-04-2004 à 20:34:16
Reply

Marsh Posté le 29-04-2004 à 20:34:19    

mouais mais ca passe pas !  
 
ca me ressort que le champ = à data si y en a 1 et rien sinon ...

Reply

Marsh Posté le 03-05-2004 à 22:30:39    

une idée tordue ;)
 
tu compare un CONCAT(Champ, Substring('data', LENGTH(Champ)+1)) à ton Data


---------------
Mon site photo | Voyage en Mongolie en fourgon aménagé
Reply

Marsh Posté le 04-05-2004 à 19:43:56    

oki mais ca passe sous mysql ton concat et ton length ???
 
j'ai un doute la !

Reply

Marsh Posté le 04-05-2004 à 23:39:55    

je n'ai pas essayé, mais à priori oui... ce sont des fonctions de MySQL


---------------
Mon site photo | Voyage en Mongolie en fourgon aménagé
Reply

Marsh Posté le 04-05-2004 à 23:45:03    

Bon ben je viens de tester, ca marche  [:maestro]  


---------------
Mon site photo | Voyage en Mongolie en fourgon aménagé
Reply

Marsh Posté le 05-05-2004 à 21:24:23    

ah alors tu peux me montrer exactement ton exemple ?
c quoi ta bdd ?

Reply

Marsh Posté le 05-05-2004 à 23:31:05    

Bien, alors:
 
Table: sorties_type
champs: id_type_sortie, libelle_type_sortie
une des occurences contient l'enregistrement: (5, "Lieux culturels" )
 
je fais la requete suivante:
 

SELECT  *  
FROM  `sorties_type`  
WHERE CONCAT( libelle_type_sortie, substring('Lieux culturels et musées', LENGTH(libelle_type_sortie)+1))='Lieux culturels et musées'


 
et il me sort:  
(5, "Lieux culturels" )
 
C'est moche, mais ça a le mérite de marcher  :)


---------------
Mon site photo | Voyage en Mongolie en fourgon aménagé
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed