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

PostgreSQL Discussion :

Simplifier une requête


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Par défaut Simplifier une requête
    Bonjour ,

    Je cherche à filtrer une table sur un champ texte qui doit remplir une des conditions suivantes :

    - null
    - '' ( quote,quote )
    - 1 ou plusieurs blancs

    J'en suis à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE monchamp is null or replace(monchamp, ' ' , '') = ''
    Peut-on encore simplifier ?

    Merci de vos avis éclairés !

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Bonjour,


    Non.

    Peut être qu'un trim sera plus efficace qu'un replace, à tester.

  3. #3
    Membre éclairé
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Par défaut
    Merci pour la réponse.

    En fait j'avais essayé avec trim , mais il travaille sur le "début, de la fin ou des deux extrémités" d'une chaine , mais pas sur le milieu de la chaîne.

    Ce que je voulais c'était me passer du 'OR' ,

    .. peut-être avec une regex ? ...

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Citation Envoyé par jeanphi45 Voir le message
    Merci pour la réponse.

    En fait j'avais essayé avec trim , mais il travaille sur le "début, de la fin ou des deux extrémités" d'une chaine , mais pas sur le milieu de la chaîne.

    Ce que je voulais c'était me passer du 'OR' ,

    .. peut-être avec une regex ? ...
    Euh ???
    Sur le début ou la fin oui, mais puisque vous cherchez une chaine vide quand on supprime les espaces, ça veut dire que la chaine est constituée uniquement d'espaces.
    Donc trim fait parfaitement l'affaire...

  5. #5
    Membre éclairé
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Par défaut
    ah oui c'est vrai !

    et sinon , si on veut se passer du OR ?

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    ça n'a pas vraiment d'intérêt, mais vous pouvez faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE trim(COALESCE(monchamp, '')) = ''
    Je ne sais pas si en Postgre SQL c'est la fonction "COALESCE" aussi, mais vous devez avoir une fonction du genre qui remplace les "null" par la valeur souhaitée

Discussions similaires

  1. [MySQL] Simplifier une requête
    Par eldorplus dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/05/2011, 10h02
  2. [MySQL] Simplifier une requête SQL
    Par maestro982 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 23/05/2010, 13h26
  3. [MySQL] Simplifier une requête
    Par novphp dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 31/01/2009, 12h18
  4. simplifier une requête avec des 'OR'
    Par Spaccio dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/05/2008, 10h06
  5. [SQL] Simplifier une requête SQL ?
    Par renaud26 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/04/2006, 13h50

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