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 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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select... from... where cast(colonne_int as char(...)) like...
Attention, ceci ne marche que depuis Mysql 4.0.6;
ced
Rédacteur / Modérateur SGBD et R
Mes tutoriels et la FAQ MySQL
----------------------------------------------------
Pensez aux balises code et au tag![]()
Une réponse vous a plu ? N'hésitez pas à y mettre un![]()
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
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 :
ced
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT... FROM... WHERE cast(colonne_int AS CHAR) LIKE...
Rédacteur / Modérateur SGBD et R
Mes tutoriels et la FAQ MySQL
----------------------------------------------------
Pensez aux balises code et au tag![]()
Une réponse vous a plu ? N'hésitez pas à y mettre un![]()
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
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
Rédacteur / Modérateur SGBD et R
Mes tutoriels et la FAQ MySQL
----------------------------------------------------
Pensez aux balises code et au tag![]()
Une réponse vous a plu ? N'hésitez pas à y mettre un![]()
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
On peut voir la requête ?
ced
Rédacteur / Modérateur SGBD et R
Mes tutoriels et la FAQ MySQL
----------------------------------------------------
Pensez aux balises code et au tag![]()
Une réponse vous a plu ? N'hésitez pas à y mettre un![]()
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
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
Rédacteur / Modérateur SGBD et R
Mes tutoriels et la FAQ MySQL
----------------------------------------------------
Pensez aux balises code et au tag![]()
Une réponse vous a plu ? N'hésitez pas à y mettre un![]()
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
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
Rédacteur / Modérateur SGBD et R
Mes tutoriels et la FAQ MySQL
----------------------------------------------------
Pensez aux balises code et au tag![]()
Une réponse vous a plu ? N'hésitez pas à y mettre un![]()
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
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 : Sélectionner tout - Visualiser dans une fenêtre à part select * from table1 where cast(num as char) like '1%'
Ca fonctionne sans soucis sous MySQL 5 pour moi aussi.
ced
Rédacteur / Modérateur SGBD et R
Mes tutoriels et la FAQ MySQL
----------------------------------------------------
Pensez aux balises code et au tag![]()
Une réponse vous a plu ? N'hésitez pas à y mettre un![]()
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
Partager