Bonjour tout le monde
j'ai vuq ue sous MySQL il y avait une fonction de cast ...
mais je n'arrive pas à la faire fonctionner ..
mon problème est simple je voudrait comparer un int avec un like "%expr%"
des idées ??
merci d'avance
Version imprimable
Bonjour tout le monde
j'ai vuq ue sous MySQL il y avait une fonction de cast ...
mais je n'arrive pas à la faire fonctionner ..
mon problème est simple je voudrait comparer un int avec un like "%expr%"
des idées ??
merci d'avance
Bonjour,
Il faut faire :
La longueur du char dépend de la longueur maximale de l'entier à comparer.Code:
1
2
3 select... from... where cast(colonne_int as char(...)) like...
Attention, ceci ne marche que depuis Mysql 4.0.6;
ced
ca ne semble pas fonctionner
est ce que je peut mettre une taille enorme ??
merci de ta reponse
Essaie en retirant la longueur dans char :
cedCode:
1
2
3 SELECT... FROM... WHERE cast(colonne_int AS CHAR) LIKE...
merci de ton attention
malheureusement ca ne fonctionne pas non plus ...
Bizarre :? , moi je viens de le tester et ça fonctionne...
Quelle version de MySQL utilises-tu ?
ced
Bonjour,
j'utilise mysql 5
On peut voir la requête ?
ced
oui bien sur
SELECT * FROM inscription , adherent
where inscription.adherent_id_adherent = id_adherent
and (adherent.nom_adherent like "%con%"
or adherent.prenom_adherent like "%je%"
or adherent.num_licence like "%jeur%"
and cast(inscription.id_inscription as char) like "%"
)
Deux petites remarques, pour être sûr de bien comprendre ton problème :
1/ C'est voulu le dernier AND dans la parenthèse où il n'y a que des OR ?
2/ Un like "%" sans rien avant ou après le %, c'est plutôt étrange (j'ai jamais essayé, mais je pense que ça ramène tout, et donc la condition ne sert plus à rien).
ced
Le and est voulu ...
mettre juste %, effectivement ca ramene tout, mais c'était ici le but ... c'était pour tester justement ce cast()
Ben là, à part un problème dans la requête, je vois plus trop bien :?
Mais sans le schéma et quelques données, c'est dur à dire, pour voir ce que ramène effectivement la requête...
Pourtant, le CAST marche correctement...
ced
enfin le problème n'ets pas a ce quil me ramene ou non , c'est surtt qu'il n'accecpte paos cette syntaxe
pourrais tu me faire un requete bidon avec une syntaxe qui marche chez toi ?
merci de ton aide
Voilà une table de test :
id ; num ; texte
1 ; 1; 'texte1'
2 ; 2; 'texte2'
...
14; 14; 'texte14'
id et num sont de type integer, et texte du varchar.
Voilà un exemple de requête bidon ;) :
Ca le renvoit les lignes dont les num sont 1, 10, 11, 12, 13 et 14.Code:select * from table1 where cast(num as char) like '1%'
Ca fonctionne sans soucis sous MySQL 5 pour moi aussi.
ced