Apparemment , PostgreSQL n'a pas DATEADD
, car vous pouvez simplement utiliser le +
ou -
les opérateurs.
J'ai besoin d'ajouter un certain nombre d'heures à une date, ce qui se fait comme ceci:
date_field + interval '8.25 hour'
Ce qui est génial, mais j'ai besoin du nombre d'heures pour provenir d'un champ de la table. Serait quelque chose comme ça:
date_field + interval start_time 'hour'
Je ne trouve nulle part comment faire ça. Est-ce réellement impossible?
Cela ne me dérange pas de recourir à de vilains hacks comme prendre la valeur du champ et diviser par 3600, multiplier par 86400. Quoi que je doive faire, mais je n'ai pas trouvé de moyen de le faire non plus.
Puisque vous voulez ajouter heures, cela devrait plutôt être:
SELECT date_field + interval '1h' * start_time
start_time
peut être n'importe quelle valeur numérique.
Trouvé la réponse, dans une autre SO question :
date + interval '1' minute * FLOOR(start_time * 60)
J'espère que cela aide n'importe qui
Celui qui a travaillé pour moi est
SELECT date_field + interval '1' HOUR * start_time
start_time peut être n'importe quelle valeur numérique.
Si quelqu'un veut ajouter un horodatage,
select time '05:00' - interval '2 hours'