|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 526 ![]() |
bonjour,
je voudrais arrondi (ou tronquer) une heure au format timestamp au quart d'heure . comment faire ? il y a bien la super fonction date_trunc mais le quart d'heure ne fait pas parti des critères d'arrondissement hélas. si quelqu'un a une idée... |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : octobre 2008 Messages : 1 509 ![]() |
Si t est le timestamp, je pense qu'une expression comme ça fait l'affaire:
Code :
date_trunc('hour',t) + trunc(extract(minutes FROM t)/15)*'15 minutes'::interval |
|
|
10
|
|
|
#3 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 526 ![]() |
merci de ta réponse, je la testerais demain mais elle me semble 'lourde' pour mettre dans un select et un group by (car je dois regrouper des horraires pour trouver des similitudes)
|
|
|
00
|
|
|
#4 | |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 526 ![]() |
Citation:
je viens de tester, cela arrondi au quart d'heure inférieur et non pas au plus proche. du coup 1h59 deviant 1h45 ! pas cool pour la facturation ! |
|
|
|
00
|
|
|
#5 | ||
![]() ![]() |
Il suffit de changer la fonction trunc par round :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 526 ![]() |
voiçi une solution qui arrondi aux 15minutes les plus proches
Code :
date_trunc('hour', madate) + INTERVAL '15 min' * ROUND(date_part('minute', madate) / 15.0) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com