Mysql select

Le
Toto
Bonjour

Dans une table j'ai un enregistrement avec un champs 'toto' ou est stocké la
valeur %eff%
je teste si le contenu d'une variable (en PHP) correpond à l'expression
stockée dans toto
j'ai essayé select * from maTable where 'p0eff' like maTable.toto
cela ne marche pas mais je ne parviens pas à comprendre comme parvenir au
résultat attendu.
merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred Brouard - SQLpro
Le #21897461
Toto a écrit :
Bonjour

Dans une table j'ai un enregistrement avec un champs 'toto' ou est stocké la
valeur %eff%
je teste si le contenu d'une variable (en PHP) correpond à l'expression
stockée dans toto
j'ai essayé select * from maTable where 'p0eff' like maTable.toto
cela ne marche pas mais je ne parviens pas à comprendre comme parvenir au
résultat attendu.
merci





Cela passe très bien sous Microsoft SQL Server :

CREATE TABLE maTable (toto VARCHAR(16))

INSERT INTO maTable VALUES ('%eff%')

SELECT *
FROM maTable
WHERE 'p0eff' like maTable.toto

toto
----------------
%eff%

peut être devez vous jouer sur la collation en rajoutant une clause
COLLATE si MySQL supporte ce genre de syntaxe :

SELECT *
FROM maTable
WHERE 'p0eff' like maTable.toto COLATE latin1_ci_ai -- par exemple

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Mickaël Wolff
Le #21897451
Toto a écrit :
Bonjour



Bonjour,

Dans une table j'ai un enregistrement avec un champs 'toto' ou est stocké la
valeur %eff%



Quelle est le create de la table ?
Quel est l'insert utilisé pour insérer les données ?

je teste si le contenu d'une variable (en PHP) correpond à l'expression
stockée dans toto



Quelles sont les valeurs possibles ?

cela ne marche pas



Ça ne veut rien dire « ça ne marche pas » ! Il faut regarder le
message d'erreur, et s'il n'y en a pas, le dire et préciser le résultat
renvoyé par le serveur SQL.

mais je ne parviens pas à comprendre comme parvenir au
résultat attendu.



Avoir un peu plus de méthode :) Parce que la requête marche ©.

Comment testes-tu ta requête SQL ? Pour ma part, j'ai fait ça pour
vérifier que ça fonctionne (version mysql 5.0.51a) :

create table maTable ( toto varchar(255) ) ;
insert into maTable values ('%eff%') ;
select * from maTable where 'p0eff' like maTable.toto ;

Résultat :
+-------+
| toto |
+-------+
| %eff% |
+-------+
1 row in set (0.01 sec)

Au fait, quelle est le but de ta requête ?

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Toto
Le #21897431
Désolé en effet cela marche c'est mon neurone qui n'était pas performant
hier.

"Mickaël Wolff" 4816030a$0$26271$
Toto a écrit :
Bonjour



Bonjour,

Dans une table j'ai un enregistrement avec un champs 'toto' ou est stocké
la
valeur %eff%



Quelle est le create de la table ?
Quel est l'insert utilisé pour insérer les données ?

je teste si le contenu d'une variable (en PHP) correpond à l'expression
stockée dans toto



Quelles sont les valeurs possibles ?

cela ne marche pas



Ça ne veut rien dire « ça ne marche pas » ! Il faut regarder le
message d'erreur, et s'il n'y en a pas, le dire et préciser le résultat
renvoyé par le serveur SQL.

mais je ne parviens pas à comprendre comme parvenir au
résultat attendu.



Avoir un peu plus de méthode :) Parce que la requête marche ©.

Comment testes-tu ta requête SQL ? Pour ma part, j'ai fait ça pour
vérifier que ça fonctionne (version mysql 5.0.51a) :

create table maTable ( toto varchar(255) ) ;
insert into maTable values ('%eff%') ;
select * from maTable where 'p0eff' like maTable.toto ;

Résultat :
+-------+
| toto |
+-------+
| %eff% |
+-------+
1 row in set (0.01 sec)

Au fait, quelle est le but de ta requête ?

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Publicité
Poster une réponse
Anonyme