Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
j'ai deux champs que je souhaite assembler en un seul
(un champs date et un champs time a fusionner vers un champs timestamp)
mais la requete du type :
update ot set debut_astreinte = (date_maintenance::char || heure_debut::char)::timestamp
ne marche pas:
merci pour votre aide.
Hors ligne
Faire une addition :
date '2001-09-28' + time '03:00' resultat timestamp '2001-09-28 03:00'
Hors ligne
Exactement. Il faut vraiment prendre l'habitude d'utiliser les opérations arithmétiques sur les dates, avec PostgreSQL. C'est bien plus simple et puissant que de repasser par les chaînes de caractère. Les types date, time, timestamp et interval permettent de faire des choses très sympas…
Marc.
Hors ligne
j'ai fait :
update ot set debut_astreinte = date 'date_maintenance' + time 'heure_debut' >> marche pas
update ot set debut_astreinte = date date_maintenance + time heure_debut where astreinte = true >> pas mieux
comment adapter votre réponse à ma requête littérale ?
merci pour votre aide
Hors ligne
excusez moi , en faisant bien comme indiqué ça marche nickel merci :
update ot set debut_astreinte = date_maintenance + heure_debut where heure_debut is not null
Hors ligne
Les 'time' et 'date' servaient à préciser explicitement à PostgreSQL comment convertir les chaînes de caractères en entrée ('2001-09-28').
Dans la table, cela ne sert à rien : date_maintenance et heure_debut sont bien déclares en tant que date et time, je présume.
Marc.
Hors ligne
Pages : 1