IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

VARCHAR : Requête infructueuse avec ''


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 139
    Billets dans le blog
    5
    Par défaut VARCHAR : Requête infructueuse avec ''
    Bonjour,

    Dans un environnement MySQL / Interface PHP, je sollicite deux tables 1 et 2 avec une structure identique, l'une étant la copie conforme de l'autre sauf que j'y ai ajouté 4 champs en plus...
    Ces tables possèdent à l'instant T les mêmes enregistrements.
    J'interroge la T1 où un champ de type VARCHAR(8) NULL doit contenir une valeur 7000403, j'écris donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM T1 WHERE MonChamp = '7000403'
    Je trouve les enregistrements attendus, tout va bien.
    Je procède de façon identique pour la T2 et même résultat.

    Je vide alors la T2 et par un processus LOAD DATA INFILE(), je remplis la table T2 avec les lignes issues d'un fichier spécifique. (Chose qui est faite de façon systématique chaque matin pour la T1 avec un fichier strictement identique)
    Je consulte ma table et mes enregistrements y sont présents dont ceux avec le fameux code 7000403

    Je pose alors la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM T2 WHERE MonChamp = '7000403'
    Et MySQL ne trouve aucune correspondance !
    Je pose alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT(MonChamp) FROM T2 ORDER BY MonChamp DESC
    Et je vois donc mon 7000403
    Je ne comprends rien. Je procède alors avec un LIKE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM T2 WHERE MonChamp LIKE '7000%'
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM T2 WHERE MonChamp LIKE '7%'
    Et idem, aucun enregistrement.
    Me viens alors une idée…. Je change la requête ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM T2 WHERE MonChamp = 7000403
    En ôtant les quotes donc et là ça match !

    Que se passe t-il d'un coup… enfin quel phénomène m'interdit d'interroger un VARCHAR sans délimiteur ?

    Merci pour vos lumières

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    peux-tu essayer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM T2 WHERE MonChamp = ' 7000403'
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM T2 WHERE MonChamp LIKE '%7000403'

Discussions similaires

  1. [SQL] Requête complexe avec appel multiple à la même table
    Par Julien Dufour dans le forum Langage SQL
    Réponses: 9
    Dernier message: 14/04/2005, 15h12
  2. [VB.NET] [ODBC] Pb requête UPDATE avec clé primaire..?
    Par Pleymo dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/03/2005, 19h46
  3. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 11h33
  4. [Requête] Problème avec fonction "DATE_FORMAT()"
    Par sekiryou dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/01/2005, 22h52
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 12h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo