Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 11/12/2010 18:32:44
- unisol
- Membre
concatener une date + une heure
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
#2 11/12/2010 18:36:20
- herve.lefebvre
- Membre
Re : concatener une date + une heure
Faire une addition :
date '2001-09-28' + time '03:00' resultat timestamp '2001-09-28 03:00'
Hors ligne
#3 11/12/2010 18:47:05
- Marc Cousin
- Membre
Re : concatener une date + une heure
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
#4 11/12/2010 18:47:32
- unisol
- Membre
Re : concatener une date + une heure
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
#5 11/12/2010 18:51:42
- unisol
- Membre
Re : concatener une date + une heure
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
#6 11/12/2010 19:01:38
- Marc Cousin
- Membre
Re : concatener une date + une heure
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