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

PL/SQL Oracle Discussion :

Ajout des minutes à une date [11g]


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2013
    Messages : 106
    Points : 38
    Points
    38
    Par défaut Ajout des minutes à une date
    Bonjour oracle pro,

    j'ai une date sous la forme dd/mm/yyyy hh:00:00 que je dois en soutraire 3 heures,
    et un champ qui contient une période de 6 min de 0 à 29 , exemple j'ai une période 5 ça veut dire que j'ai 5*6 = 30 min
    j'ai fait une fonction qui me traite le convenable date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE OR REPLACE function add_min (x IN integer, y  in date) 
    return date 
    is 
    res_date   date; 
    begin 
    res_date := (y -  3/24) + (x*6)/24/60;
    return res_date ;
    end;
    /
    mais quand je l'ai essayé l’exécution il me retourne des valeurs erronées

    est ce que mon code correct ?
    merci pour votre aide appréciée

  2. #2
    Membre confirmé
    Avatar de Bibeleuh
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2010
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 209
    Points : 542
    Points
    542
    Par défaut
    Bonjour,

    Votre code correspond exactement à ce que vous avez décri.

    Exemple avec la date 17/07/2014 et la période 5 :

    1. On soustrait 3 heures , ça nous donne 16/07/2014 21:00:00
    2. On ajoute la période 5, donc 5 x 6 = 30 minutes ce qui donne 16/07/2014 21:30:00

    Test de votre fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT add_min(5, TO_DATE('17/07/2014','DD/MM/RRRR')) FROM DUAL; 
    __________________________
    16/07/2014 21:30:00

  3. #3
    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,

    Ou alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT 
      to_date('2014-07-16', 'YYYY-MM-DD')
      - INTERVAL '3' HOUR  --retirer trois heures
      + NUMTODSINTERVAL(5 * 6, 'minute') --ajouter 5 * 6 minutes
    FROM DUAL

  4. #4
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 33
    Points : 40
    Points
    40
    Par défaut
    Il y'avait une petite erreur sur ton code :

    res_date := (y - 3/24) + (x*6)/24/60;

    à remplacer par :

    res_date := (y - 3/24) + (x*6)/(24*60);

    Salutations.

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

Discussions similaires

  1. [MySQL] Ajouter des jours à une date donnée
    Par jiojioforever dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/10/2009, 09h32
  2. [Dates] Ajouter des mois à une date
    Par tiger63 dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2007, 16h42
  3. [Formulaire] Ajouter des jours à une date
    Par atlantideD dans le forum IHM
    Réponses: 2
    Dernier message: 21/05/2007, 10h07
  4. ajouter des jours à une date
    Par babalastar dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 27/02/2007, 11h39
  5. [HQL] Ajouter des jours à une date
    Par loulou dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/01/2007, 11h22

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