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 :

Sysdate


Sujet :

Langage SQL

  1. #1
    Membre habitué Avatar de nesbla
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 220
    Points : 139
    Points
    139
    Par défaut Sysdate
    Bonjour,

    J'ai un problème que je suppose être tres bannal mais dont je n'ai pas trouvé la solution sur le forum.

    Le problème est simple :

    Dans ma base oracle j'ai des enregistrement de date avec SYSDATE. Il m'enregistre la date avec l'heure, les minutes, etc...

    Mainteant je veux faire un select sur cette table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Emprunt where DATE_DEBUT=to_date('2005-03-08', 'yyyy-mm-dd')
    Il ne me retourne rien car je suppose que dans le TO_DATE je n'est pas précisé les heures, minutes, etc...

    Ma question est : comment faire pour faire un SELECT la dessus ? Sachant que biensur je ne connais pas la date à la seconde près.

    Merci !

  2. #2
    Membre éclairé

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 657
    Points
    657
    Par défaut
    peut-être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Emprunt where to_date(DATE_DEBUT, 'yyyy-mm-dd')=to_date('2005-03-08', 'yyyy-mm-dd')
    Tu me diras si ça fonctionne.

  3. #3
    Membre habitué Avatar de nesbla
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 220
    Points : 139
    Points
    139
    Par défaut
    Bizzarement ca ne fonctionne pas mais l'idée est bonne. Je ne comprends pas pourquoi d'ailleur...

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Emprunt where to_char(DATE_DEBUT, 'yyyy-mm-dd') = '2005-03-08'
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Emprunt where trunc(DATE_DEBUT) = to_date( '2005-03-08' , 'yyyy-mm-dd')

  5. #5
    Membre habitué Avatar de nesbla
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 220
    Points : 139
    Points
    139
    Par défaut
    Merci ca marche impeccable !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Emprunt where to_char(DATE_DEBUT, 'yyyy-mm-dd') = '2005-03-08'

  6. #6
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Si tu as un index sur DATE_DEBUT, dans le même esprit tu peux essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM Emprunt where DATE_DEBUT between to_date( '2005-03-08 00:00:00' , 'yyyy-mm-dd hh24:mi:ss') and to_date( '2005-03-08 23:59:59' , 'yyyy-mm-dd hh24:mi:ss')

    Laly.

  7. #7
    Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    bonjour ,

    tu utilises la fonction to_char dans la clause where , exemple:

    select * from votre_table
    where to_char(nom_champ,'dd/mm/yyyy')='27/05/2005'

    ca va marcher surement .

    cordialement

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

Discussions similaires

  1. PB SYSDATE, par ex : affiche 04h00 au lieu 16h00
    Par wormseric dans le forum Oracle
    Réponses: 4
    Dernier message: 06/10/2006, 17h55
  2. [Commons-DBUtils] Impossible d'utiliser Sysdate
    Par moritan dans le forum JDBC
    Réponses: 3
    Dernier message: 25/08/2006, 13h47
  3. [forms 6i][8i] affecter SYSDATE AVEC les heures
    Par Magnus dans le forum Oracle
    Réponses: 5
    Dernier message: 14/02/2006, 14h27
  4. [8i, 9i] Utilisation incorecte de sysdate?
    Par lgomez dans le forum Oracle
    Réponses: 4
    Dernier message: 08/11/2005, 11h07
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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