Bonjour à tous,
Je viens de me mettre au PL SQL et mes connaissances sont assez limitées, je cherche à arrondir une date aux 5 minutes inférieures :
exemple 18h08min47s devient 18h05min00
Donc pas de soucis avec l'algo : avec une date au format hh:mm:ss
ss := 00
mm := mm /(division entière) 5
mm := mm*5
un truc du genre devrait faire l'affaire.
J'ai plusieurs soucis, j'arrive plus ou moins à extraire une partie d'une date, mais je ne sais pas insérer une partie d'une dans une date. En gros je ne sais pas modifier une date (ou une partie, les minutes par exemple).
Je ne sais pas faire la division entière (est ce que '/' suffit ??).
Mes dates sont à ce format : 01/08/12 00:00:00,000000000 ('DD/MM/YY HH:Mi:SS,FF9' ???).
Et en plus de ça je ne peux pas faire de sortie écran avec DBMS_output, puisque la commande SET SERVEROUTPUT ON ne fonctionne pas (pour le moment j’espère) là où je travaille. C'est du coup pas très pratique pour tester ce que je fais...
je vous montre ce que j'ai fait pour le moment :
Je suis sûr que quelqu'un aura au moins un début de réponse à m'apporter, et je lui en serai très reconnaissant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE OR REPLACE FUNCTION TEST_ARRONDI_INF ( date_a_arrondir IN timestamp ) RETURN timestamp IS date_retour timestamp; minutes NUMBER; BEGIN minutes := EXTRACT(MINUTE FROM date_a_arrondir); minutes := minutes/5; minutes := minutes*5; RETURN date_retour; END;
Bonne journée à tous!
Edit : j'utilise Oracle SQL developer 1.5.5
version oracle 11g
Partager