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

SQLite Discussion :

Requête "Entre telle date & telle date"


Sujet :

SQLite

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 25
    Points : 24
    Points
    24
    Par défaut Requête "Entre telle date & telle date"
    Bonjour,
    Je reviens avec toujours la même BDD (restaurant qui gère des commandes) que les 2 dernières discussions.
    J'ai donc Commande avec les dates des commandes des 3 derniers mois sous la forme YYYY-MM-DD ainsi que Commande_ID.
    J'aimerais tout simplement obtenir à l'aide d'une requête toutes les commandes du mois dernier.
    J'ai essayé avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Commande WHERE DateRec BETWEEN 2020-05-01 AND 2020-05-31
    Sauf que la requête ne renvoie rien.
    Est-ce qu'il me manque quelquechose?
    Et si vous avez aussi un moyen d'obtenir les commandes des 30 derniers jours (ex: entre 2020-05-20 & 2020-06-20) j'apprécierais cela grandement.
    Merci

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Peut-être ceci ?
    Je n'ai pas de SQLite sous la main ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Commande WHERE strftime('%Y-%m-%d', DateRec) BETWEEN '2020-05-01' AND '2020-05-31'
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 419
    Points : 1 096
    Points
    1 096
    Par défaut
    Bonjour,

    Si tu utilises des dates au format ISO, il te faut mettre tes dates entre quotes pour indiquer des chaînes de caractères...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Commande WHERE DateRec BETWEEN '2020-05-01' AND '2020-05-31'
    C'était déjà dit dans ma réponse à ta demande https://www.developpez.net/forums/d2...te/table-date/?

    Cordialement

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 088
    Points : 38 390
    Points
    38 390
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par vttman Voir le message
    Je n'ai pas de SQLite sous la main ...
    Bien pratique pour tester différents SGBDR et différentes versions : https://dbfiddle.uk/

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 736
    Points : 52 447
    Points
    52 447
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par DienF Voir le message
    Bonjour,
    ...
    J'ai essayé avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Commande WHERE DateRec BETWEEN 2020-05-01 AND 2020-05-31
    Sauf que la requête ne renvoie rien
    ....
    Arithmétique...
    2020-5-1 = 2014
    2020-5-31 = 1984

    Donc votre requête peut être simplifié en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Commande WHERE DateRec BETWEEN 2014 AND 1984
    Comme vous utilisez sans aucun doute un SGBD de merde qui confond des dates et des nombres, il ne bronche pas (tout autre SGBDR bien ficelé aurait renvoyé une erreur du genre type incompatible) et comme 2014 est supérieur à 1984, alors vous n'aurez jamais aucune ligne !

    SQL est un langage typé, même si certains SGBD de très mauvaise qualité l'ignore !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Bien pratique pour tester différents SGBDR et différentes versions : https://dbfiddle.uk/
    Impec
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

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

Discussions similaires

  1. [WD17] Requête SQL entre deux dates
    Par chrysaxel dans le forum WinDev
    Réponses: 9
    Dernier message: 28/01/2023, 00h40
  2. Requête Selection entre deux date
    Par dharkan dans le forum Développement
    Réponses: 5
    Dernier message: 29/05/2018, 16h18
  3. Requête contrôle entre deux dates (débutant)
    Par seifrf dans le forum Développement
    Réponses: 7
    Dernier message: 06/02/2018, 17h18
  4. Réponses: 5
    Dernier message: 01/02/2017, 16h51
  5. [TQuery] Requête somme entre deux dates
    Par delphino7 dans le forum Bases de données
    Réponses: 15
    Dernier message: 22/04/2008, 11h43

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