Label Décisionnel
Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?
[Tip] Récupérer les minutes rondes (1 lecteur(s)) (1) Invité(s)
Aller en bas Répondre Ajouté aux favoris : 0
SUJET: [Tip] Récupérer les minutes rondes
#651
ChrYStophe (Utilisateur)
Expert Boarder
Messages: 158
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
[Tip] Récupérer les minutes rondes depuis 7 Mois, 2 Semaines Karma: 17  
Certaines personnes aiment vivre dangereusement et scrutent des données à intervalles réguliers. Disons que toutes les dix minutes, on regarde sur les dix minutes précédentes mais que l'heure d'éxécution ne se passe pas pile sur l'intervalle.

Si le premier passage à lieu à 9:00:00, le second peut avoir lieu à 9:12:15, et le soixantième à 19:05:00, ce qui fait louper une partie de la fenêtre temporelle.

Voici une requete qui à 9:00:00 renvoie 9:00:00, à 9:12:15 renvoie 9:10:00 et à 19:05:00 renvoie 19:00:00.

Celle-ci est paramétrable en créant un table TABLE_PARAMETRE, ayant un champ INTERVALLE (number) contenant le nombre de minutes entre deux scrutations.


Code :

SELECT to_char(heureRecup,'YYYY-MM-DD HH24:')||lpad(to_char(extract( minute from heureRecup ) - mod ( case when extract( minute from heureRecup ) (inférieur) to_number( INTERVALLE) then extract( minute from heureRecup ) + to_number(INTERVALLE) else extract( minute from heureRecup ) end , to_number( INTERVALLE ))),2,'0')||':00 +01:00' from ( SELECT INTERVALLE, to_timestamp(to_char(systimestamp - (to_number(INTERVALLE)/1440),'DD-MM-YYYY HH24:MI:«»SS'),'DD-MM-YYYY HH24:MI:«»SS') as heureRecup FROM TABLE_PARAMETRES )
 
 
Dernière édition: 17-04-2008 à 17:55 Par ChrYStophe.
  L'administrateur a désactivé l'accès public en écriture.
Revenir en haut Répondre
Développé par FireBoardObtenir les derniers messages directement sur votre PC
Joomla Template by Joomlashack
Joomla Templates by JoomlaShack Joomla Templates