Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/11/2010, 01h05   #1
Invité de passage
 
Wolf Blue
Inscription : novembre 2010
Messages : 10
Détails du profil
Informations personnelles :
Nom : Wolf Blue

Informations forums :
Inscription : novembre 2010
Messages : 10
Points : 0
Points : 0
Par défaut contient un caractère

Hello,

J'aimerai obtenir la liste des valeurs contenant le caractère "_"

Code :
1
2
3
SELECT *
FROM `articles`
WHERE id LIKE '%_%'
Malheureusement, ma requête me retourne TOUS les résultats, dont ceux qui ne contiennent pas le caractères "_".

Merci

edit : c'est le caractère qui semble poser problème, avec une autre valeur ça marche mais ce n'est pas le résultat voulu.
bluewolf95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 09h22   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 629
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 629
Points : 2 614
Points : 2 614
Bonjour,

Il faudrait préciser votre SGBD car le problème vient de lui.
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 10h54   #3
Invité de passage
 
Wolf Blue
Inscription : novembre 2010
Messages : 10
Détails du profil
Informations personnelles :
Nom : Wolf Blue

Informations forums :
Inscription : novembre 2010
Messages : 10
Points : 0
Points : 0
Bonjour,

J'ai essayé la requête avec MySQL et avec Open Office Base, et j'ai obtenu exactement le même résultat
bluewolf95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h04   #4
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 629
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 629
Points : 2 614
Points : 2 614
Bonjour,

Sous MySQL le caractère "_" est un caractère joker qui remplace un caractère quelconque.

Vous pouvez essayer la syntaxe suivante qui devrait fonctionner :
ou encore :
Code :
1
2
 
LIKE "%X_%" ESCAPE "X"
ici remplacer le "X" par le caractère que vous voulez.

http://dev.mysql.com/doc/refman/5.0/...functions.html

Pour OpenOffice je ne sais pas, regardez dans la doc de celui-ci.
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h13   #5
Invité de passage
 
Wolf Blue
Inscription : novembre 2010
Messages : 10
Détails du profil
Informations personnelles :
Nom : Wolf Blue

Informations forums :
Inscription : novembre 2010
Messages : 10
Points : 0
Points : 0
LIKE '%X_%' ESCAPE 'X'
me donne aucun résultat

LIKE '%X_%' ESCAPE 'X'
me donne tous les résultats

LIKE '%\_%'
me donne aucun résultat

NOT LIKE '%\_%'
me donne tous les résultats
bluewolf95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h25   #6
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 629
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 629
Points : 2 614
Points : 2 614
Êtes-vous en Mysql version 5 ou supérieur ?

Et si c'est le cas, avez-vous vraiment des chaînes (id) avec ce caractère spécifique ?
Là vous testez le champs "Id" est-ce bien le champ souhaitez ?
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h29   #7
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 957
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 957
Points : 18 165
Points : 18 165
Envoyer un message via MSN à CinePhil
Un Id (identifiant, clé primaire d'une table ou clé étrangère dans une autre) est, pour plus d'efficacité, un entier auto-incrémenté.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 13h13   #8
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 440
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 440
Points : 7 498
Points : 7 498
Pourquoi se focaliser sur LIKE ?
Il y a d'autres manières de rechercher une sous-chaine dans une chaine

Code :
1
2
3
SELECT *
FROM    articles
WHERE   POSITION('_' INTO id) > 0
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 14h04   #9
Invité de passage
 
Wolf Blue
Inscription : novembre 2010
Messages : 10
Détails du profil
Informations personnelles :
Nom : Wolf Blue

Informations forums :
Inscription : novembre 2010
Messages : 10
Points : 0
Points : 0
al1_24 tu es un génie !!
Sous Open Office Base,
avec "POSITION ( '_' IN ID )
ça fonctionne!
bluewolf95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h44.


 
 
 
 
Partenaires

Hébergement Web