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 :

Opération sur date sql


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Par défaut Opération sur date sql
    Bonjour,

    J'ai, dans ma base de donnée, une table X ayant une colonne de nom "dateExecution" au format Date.
    Je souhaiterais récupérer tous les tuples de cette table X ayant la dateExecution égale au jour courant. (on arrondit au jour, pas de notion d'heures, minutes...)

    Savez vous comment je peux effectuer cette requête?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    La syntaxe dépendra de votre SGBD.

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Tous les SGBD n'implémentant pas le type DATE de manière équivalente (avec ou sans heure), quel SGBD utilises-tu ?
    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
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 : 16 818
    Billets dans le blog
    14
    Par défaut
    Si j'en crois la liste des mots réservés au SQL, une requête de ce genre fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT lesColonnesSouhaitées
    FROM X
    WHERE dateExecution = CURRENT_DATE
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Par défaut
    J'utilise le SGBD Oracle.
    Merci beaucoup pour vos réponses.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE trunc(dateExecution,'dd') = trunc(sysdate,'dd')

  7. #7
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    'dd' est par ailleurs la valeurs par défaut du trunc....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SQL> ed
    Wrote file afiedt.sql
     
      1  SELECT to_char(trunc(sysdate), 'yyyy/mm/dd hh24:mi:ss') as truncd
      2  , to_char(sysdate, 'yyyy/mm/dd hh24:mi:ss') as  d
      3* FROM DUAL
    SQL> /
     
    TRUNCD              D
    ------------------- -------------------
    2009/10/15 00:00:00 2009/10/15 17:23:19

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Par défaut
    Bonjour,
    Attention si la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE trunc(dateExecution,'dd') = trunc(sysdate,'dd')
    fonctionne elle n'utilisera probablement pas un index présent sur Dateexecution.
    Je n'ai pas compris si dateexecution comprenait ou pas les heure en base.
    S'il comprend les heures une solution qui utiliserait les index eventuel serait de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WHERE dateExecution >=trunc(sysdate)
    and dateExecution <trunc(sysdate)+1
    A+
    Soazig

  9. #9
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 : 16 818
    Billets dans le blog
    14
    Par défaut
    Euh... ça n'existe pas CURRENT_DATE sous Oracle ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Si, et d'ailleurs ce n'est pas tout à fait la même chose :
    The SYSDATE function returns the current date and time
    on the server while the CURRENT_DATE function returns
    the current date and time of the session.
    Donc en cas de décalage horaire entre l'utilisateur et le serveur, les valeurs ne seront pas les mêmes. Et même sans parler de décalage horaire, sans NTP les valeurs renvoyées peuvent présenter un décalage supérieur à la seconde.

  11. #11
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Si, mais après moultes années de sysdate c'est difficile de changer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select sysdate, current_date, current_timestamp from dual;
     
    SYSDATE			CURRENT_DATE		CURRENT_TIMESTAMP
    16/10/2009 10:20:15	16/10/2009 10:20:16	16/10/2009 10:20:15.750000 +02:00
    Par contre ça n'existe pas chez SQL Server :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select getdate() as [GETDATE] , current_timestamp as [CURRENT_TIMESTAMP];
     
    GETDATE                 CURRENT_TIMESTAMP
    ----------------------- -----------------------
    2009-10-16 10:21:54.980 2009-10-16 10:21:54.980

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

Discussions similaires

  1. Opération sur date
    Par moimemessssssssss dans le forum Excel
    Réponses: 4
    Dernier message: 22/02/2013, 08h25
  2. Opération sur Date
    Par ALLODREN dans le forum iReport
    Réponses: 4
    Dernier message: 04/05/2012, 11h22
  3. [WD14] Opérations sur Date
    Par Dbee1 dans le forum WinDev
    Réponses: 4
    Dernier message: 23/12/2010, 20h22
  4. Opération sur dates
    Par eZula dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 06/01/2009, 17h52
  5. CompareValidator et opération sur date saisie
    Par lutecefalco dans le forum ASP.NET
    Réponses: 7
    Dernier message: 10/07/2008, 12h29

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