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

SQL Oracle Discussion :

Requête sur une partie de la date


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 90
    Points : 66
    Points
    66
    Par défaut Requête sur une partie de la date
    Bonjour,

    J'aimerais, juste par curiosité, savoir comment opérer un select sur une partie de la date.
    Le format de mes dates en base est par exemple '17/10/10 00:00:00,000000000'
    (jour, mois, année dans l'ordre).

    Comme faire pour sélectionner dans ma table OPERATIONS toutes les opérations du mois d'octobre?

    Je sèche totalement, même après plusieurs essais avec To_Char et utilisation de substring...

    Je vous remercie par avance.
    Cordialement,
    Thomas

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select ....
    From ...
    Where Month(madate) = 10

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 90
    Points : 66
    Points
    66
    Par défaut
    Hum...erreur 00904 d'oracle....je vais devoir chercher autrement...peut-être en combinant avec un to_char, parce qu'oracle n'aime vraiment pas!

    En tout cas merci quand même pour la piste

  4. #4
    Membre éprouvé
    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
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    Vous pouvez utiliser Extract :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select extract(month from sysdate) from dual
    A noter qu'une date n'a aucun format, hormis lors de l'affichage... votre colonne est-elle déclarée en type date?

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 799
    Points : 34 032
    Points
    34 032
    Billets dans le blog
    14
    Par défaut
    Ta colonne de date devrait être du type DATE, DATETIME ou TIMESTAMP. Si les données sont vraiment en BDD tel que tu le dis, ce n'est pas le cas et c'est une erreur de conception qui te pose problème aujourd'hui !

    Ensuite il faut voir les fonctions de date de ton SGBD pour triturer ça comme tu en as besoin.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    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 !

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 90
    Points : 66
    Points
    66
    Par défaut
    Hum....c'est du format Timestamp(6).


    Bon courage à moi ))

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    La réponse de Snipah est correcte.

    Mais vous n'avez pas été assez précis.
    Si vous voulez tous les mois d'octobre de toutes les années, alors pas trop de choix :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select *
      from operation
     where extract(month from date_ope) = 10;
    Si vous voulez le mois d'octobre 2010, il vaut mieux ne pas faire de modification sur la colonne timestamp mais la borner par des constantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select *
      from operation
     where date_ope >= to_timestamp('201010', 'yyyymm')
       and date_ope <  to_timestamp('201011', 'yyyymm');

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 90
    Points : 66
    Points
    66
    Par défaut
    C'est parfait!

    Je vous remercie encore pour toutes ces précisions.

    Je marque le sujet comme résolu

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

Discussions similaires

  1. [MySQL] requete SQL sur une partie d'un date
    Par stefano dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/09/2012, 13h40
  2. Filtre sur une partie de la date
    Par souminet dans le forum Débuter
    Réponses: 1
    Dernier message: 12/05/2008, 10h31
  3. [MySQL] Requête sur une partie d'un champ
    Par Micaunprobzo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/09/2007, 16h28
  4. affichage requète sur une partie de l'écran
    Par cbleas dans le forum Access
    Réponses: 4
    Dernier message: 29/06/2007, 23h07
  5. Requête sur une partie d'un champ
    Par KEROZEN dans le forum Access
    Réponses: 4
    Dernier message: 26/03/2006, 20h50

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