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

Langage SQL Discussion :

Résulat sur un SELECT BETWEEN différent en fonction du format de la date


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 61
    Points : 50
    Points
    50
    Par défaut Résulat sur un SELECT BETWEEN différent en fonction du format de la date
    Bonjour à tous,

    Alors voila je travaille avec une bdd (sur Windev) et je cherche à obtenir un bilan de ventes entre deux mois, jusque là rien d'exceptionnel.

    Je fais donc mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUM sur mon champs FROM ma table WHERE ma date BETWEEN madate1 AND madate2.
    Imaginons le cas où je recherche la somme des ventes entre "20140101" (01/01/2014) et "20140531" (31/05/2014) , j'obtiens un résultat différent quand je tape "201401" (01/2014) et "201405" (05/2014) .., je ne comprends pas pourquoi les résultats sont différents.

    Cependant je dois absolument travailler avec des dates aux formats AAAAMM , auriez vous une solution ?

    Merci d'avance, bonne journée à vous

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    En premier lieu je regarderai les lignes prises en compte dans les deux cas, en remplaçant le sum() par la date.

    Ensuite je ne vois pas pourquoi tu es "obligé" de travailler avec des "dates" sans fournir le jour. WinDev fournit tout ce qu'il faut pour calculer facilement le dernier jour du mois.

    Tatayo.

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 61
    Points : 50
    Points
    50
    Par défaut
    Vous aviez raison , le fait d'indiquer "201401" induis qu'il s'agit du 01/01/2014 , il en est de même pour "201405" qui est compris comme 01/05/2014.

    Je n'avais pas pensé à la fonction Windev DernierJourDuMois , vous me sauvez la vie !

    Merci beaucoup, bonne continuation

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Dans votre cas, je pense qu'il faudrait même pousser jusqu'au premier jour du mois suivant, sinon pour les mêmes raisons, les données du 31 mais ne seront pas prise en compte, car sans spécifier d'heure, c'est minuit qui est supposé.

    idéalement, il faudrait même se passer du BETWEEN et utiliser laColonneDate>= '201401' AND LaColonneDate <'201406' pour prendre toutes les données, du 1er janvier minuit (inclus) au 1er juin minuit (exclu)

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 61
    Points : 50
    Points
    50
    Par défaut
    Je vous remercie beaucoup aieeeuuuuu pour ces informations complémentaires qui me sont très utile et qui vont m'éviter de perdre du temps plus tard.

    Je vais alors éviter le BETWEEN pour partir sur la méthode que vous me proposez.

    Merci beaucoup , bonne journée à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Fonction pour formater une Textbox (Date)
    Par JapethTheGoat dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 19/03/2015, 15h09
  2. Utiliser des styles différents en fonction du clic sur un lien
    Par tahiiri dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 07/06/2009, 16h02
  3. [MySQL] multicondition sur un "SELECT différent de".
    Par idamarco dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/02/2009, 00h38
  4. Réponses: 1
    Dernier message: 04/02/2008, 21h35
  5. fonction sur champs select
    Par onirisme dans le forum Langage
    Réponses: 4
    Dernier message: 12/10/2007, 16h26

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