Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

postgres : convertir date GMT en localtime

14 réponses
Avatar
Alain Montfranc
Bonjour

J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en
tenant compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et
crad...

merci

10 réponses

1 2
Avatar
SQLpro
Utilisez AT TIME ZONE...

Exemple :

CREATE TABLE tz
(
id integer,
t timestamp with time zone
);

INSERT INTO tz VALUES (1, '2004-10-19 10:23:54+02');

SELECT *, T AT TIME ZONE 'GMT'
FROM TZ

A +


--
Frédéric BROUARD - expert SGBDR et SQL - MVP SQL Server - 06 11 86 40 66
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Enseignant Arts & Métiers PACA, ISEN Toulon et CESI/EXIA Aix en Provence
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************

Le 14/05/2011 12:37, Alain Montfranc a écrit :
Bonjour

J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et crad...

merci


Avatar
Alain Montfranc
SQLpro quoté la tête à l'envers :


J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et crad...

merci



Utilisez AT TIME ZONE...

Exemple :

CREATE TABLE tz
(
id integer,
t timestamp with time zone
);

INSERT INTO tz VALUES (1, '2004-10-19 10:23:54+02');

SELECT *, T AT TIME ZONE 'GMT'
FROM TZ




Non, ca ne marche pas, je ne sais pas si le local time est en MET ou
METDST. La commande "date" d'Unix le fait,
par exemple :

$ date --date '12/12/2000 11:10:00 GMT'
Tue Dec 12 12:10:00 2000

$ date --date '6/6/2000 11:10:00 GMT'
Tue Jun 6 13:10:00 2000

La commande connait les règles de changement DTS/pas DST

A priori dans votre exemple vous précisez explicitement +2, ce que je
ne souhaite pas.

Merci tout de même

AM

PS: <troll on>C est sans doute plus facile avec openqq</troll>
Avatar
Alain Montfranc
(supersedes <4dcffc57$0$14669$)

SQLpro quoté la tête à l'envers :


J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et crad...

merci



Utilisez AT TIME ZONE...

Exemple :

CREATE TABLE tz
(
id integer,
t timestamp with time zone
);

INSERT INTO tz VALUES (1, '2004-10-19 10:23:54+02');

SELECT *, T AT TIME ZONE 'GMT'
FROM TZ




Non, ca ne marche pas, d'abord parce que c'est le contraire que je dois
faire (je reçois des dates GMT et je veux les afficher en localtime) et
ensuite car je ne sais pas si le local time est en MET ou METDST. La
commande "date" d'Unix le fait,
par exemple :

$ date --date '12/12/2000 11:10:00 GMT'
Tue Dec 12 12:10:00 2000

$ date --date '6/6/2000 11:10:00 GMT'
Tue Jun 6 13:10:00 2000

La commande connait les règles de changement DTS/pas DST

A priori dans votre exemple vous précisez explicitement +2, ce que je
ne souhaite pas.

Merci tout de même

AM

PS: <troll on>C est sans doute plus facile avec openqq</troll>
Avatar
helios
Alain Montfranc a écrit :
(supersedes <4dcffc57$0$14669$)

SQLpro quoté la tête à l'envers :


J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en
tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et
crad...

merci





Utilisez AT TIME ZONE...

Exemple :

CREATE TABLE tz
(
id integer,
t timestamp with time zone
);

INSERT INTO tz VALUES (1, '2004-10-19 10:23:54+02');

SELECT *, T AT TIME ZONE 'GMT'
FROM TZ




Non, ca ne marche pas, d'abord parce que c'est le contraire que je
dois faire (je reçois des dates GMT et je veux les afficher en
localtime) et ensuite car je ne sais pas si le local time est en MET
ou METDST. La commande "date" d'Unix le fait,
par exemple :

$ date --date '12/12/2000 11:10:00 GMT'
Tue Dec 12 12:10:00 2000

$ date --date '6/6/2000 11:10:00 GMT'
Tue Jun 6 13:10:00 2000

La commande connait les règles de changement DTS/pas DST

A priori dans votre exemple vous précisez explicitement +2, ce que je
ne souhaite pas.

Merci tout de même

AM

PS: <troll on>C est sans doute plus facile avec openqq</troll>




ça ne marche pas????? Etonant la réponse vient pourtant d'un "expert en
date" voir les expertises en date du Sir : style la codification des
dates dans les SGBD

NB oui c'est plus facile avec un system pick car c'est une simple
conversion a metre dans l'attribut 7 de l'item et c'est tout ces petites
facilités et la puissance plus importante qui fond que les temps de
develloppement et d'execution sont réduit dans un systeme pick et qui
sont la raison que j'ai definitivement abandonné SQL en 1992
Avatar
Alain Montfranc
helios avait prétendu :
Alain Montfranc a écrit :
(supersedes <4dcffc57$0$14669$)

SQLpro quoté la tête à l'envers :


J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et
crad...

merci





Utilisez AT TIME ZONE...

Exemple :

CREATE TABLE tz
(
id integer,
t timestamp with time zone
);

INSERT INTO tz VALUES (1, '2004-10-19 10:23:54+02');

SELECT *, T AT TIME ZONE 'GMT'
FROM TZ




Non, ca ne marche pas, d'abord parce que c'est le contraire que je dois
faire (je reçois des dates GMT et je veux les afficher en localtime) et
ensuite car je ne sais pas si le local time est en MET ou METDST. La
commande "date" d'Unix le fait,
par exemple :

$ date --date '12/12/2000 11:10:00 GMT'
Tue Dec 12 12:10:00 2000

$ date --date '6/6/2000 11:10:00 GMT'
Tue Jun 6 13:10:00 2000

La commande connait les règles de changement DTS/pas DST

A priori dans votre exemple vous précisez explicitement +2, ce que je ne
souhaite pas.

Merci tout de même

AM

PS: <troll on>C est sans doute plus facile avec openqq</troll>




ça ne marche pas????? Etonant la réponse vient pourtant d'un "expert en date"
voir les expertises en date du Sir : style la codification des dates dans les
SGBD

NB oui c'est plus facile avec un system pick car c'est une simple conversion
a metre dans l'attribut 7 de l'item et c'est tout ces petites facilités et la
puissance plus importante qui fond que les temps de develloppement et
d'execution sont réduit dans un systeme pick et qui sont la raison que j'ai
definitivement abandonné SQL en 1992



Ta gueule gros con
Avatar
helios
Alain Montfranc a écrit :
helios avait prétendu :
Alain Montfranc a écrit :
(supersedes <4dcffc57$0$14669$)

SQLpro quoté la tête à l'envers :


J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en
tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et
crad...

merci





Utilisez AT TIME ZONE...

Exemple :

CREATE TABLE tz
(
id integer,
t timestamp with time zone
);

INSERT INTO tz VALUES (1, '2004-10-19 10:23:54+02');

SELECT *, T AT TIME ZONE 'GMT'
FROM TZ




Non, ca ne marche pas, d'abord parce que c'est le contraire que je
dois faire (je reçois des dates GMT et je veux les afficher en
localtime) et ensuite car je ne sais pas si le local time est en MET
ou METDST. La commande "date" d'Unix le fait,
par exemple :

$ date --date '12/12/2000 11:10:00 GMT'
Tue Dec 12 12:10:00 2000

$ date --date '6/6/2000 11:10:00 GMT'
Tue Jun 6 13:10:00 2000

La commande connait les règles de changement DTS/pas DST

A priori dans votre exemple vous précisez explicitement +2, ce que
je ne souhaite pas.

Merci tout de même

AM

PS: <troll on>C est sans doute plus facile avec openqq</troll>




ça ne marche pas????? Etonant la réponse vient pourtant d'un "expert
en date" voir les expertises en date du Sir : style la codification
des dates dans les SGBD

NB oui c'est plus facile avec un system pick car c'est une simple
conversion a metre dans l'attribut 7 de l'item et c'est tout ces
petites facilités et la puissance plus importante qui fond que les
temps de develloppement et d'execution sont réduit dans un systeme
pick et qui sont la raison que j'ai definitivement abandonné SQL en 1992



Ta gueule gros con




faute d'arguments les insultes , a la linux expo (semaine passée) chez
oracle ils etaient plus honnete ils avouaient etre depassé par les
performances des system pick
et disaient que les pietres performance d'oracle s'etait amelioré depuis
1992 car les machines sont plus puissantes mais confirmaient que oracle
est aujourd hui aussi puissant sur un octo-processer IBM RAID6 à 1000000
euro que pick hier sur 486 avec disque IDE
Avatar
Alain Montfranc
helios a couché sur son écran :
Alain Montfranc a écrit :
helios avait prétendu :
Alain Montfranc a écrit :
(supersedes <4dcffc57$0$14669$)

SQLpro quoté la tête à l'envers :


J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en
tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et
crad...

merci





Utilisez AT TIME ZONE...

Exemple :

CREATE TABLE tz
(
id integer,
t timestamp with time zone
);

INSERT INTO tz VALUES (1, '2004-10-19 10:23:54+02');

SELECT *, T AT TIME ZONE 'GMT'
FROM TZ




Non, ca ne marche pas, d'abord parce que c'est le contraire que je dois
faire (je reçois des dates GMT et je veux les afficher en localtime) et
ensuite car je ne sais pas si le local time est en MET ou METDST. La
commande "date" d'Unix le fait,
par exemple :

$ date --date '12/12/2000 11:10:00 GMT'
Tue Dec 12 12:10:00 2000

$ date --date '6/6/2000 11:10:00 GMT'
Tue Jun 6 13:10:00 2000

La commande connait les règles de changement DTS/pas DST

A priori dans votre exemple vous précisez explicitement +2, ce que je ne
souhaite pas.

Merci tout de même

AM

PS: <troll on>C est sans doute plus facile avec openqq</troll>




ça ne marche pas????? Etonant la réponse vient pourtant d'un "expert en
date" voir les expertises en date du Sir : style la codification des dates
dans les SGBD

NB oui c'est plus facile avec un system pick car c'est une simple
conversion a metre dans l'attribut 7 de l'item et c'est tout ces petites
facilités et la puissance plus importante qui fond que les temps de
develloppement et d'execution sont réduit dans un systeme pick et qui sont
la raison que j'ai definitivement abandonné SQL en 1992



Ta gueule gros con




faute d'arguments les insultes , a la linux expo (semaine passée) chez oracle
ils etaient plus honnete ils avouaient etre depassé par les performances des
system pick
et disaient que les pietres performance d'oracle s'etait amelioré depuis 1992
car les machines sont plus puissantes mais confirmaient que oracle est
aujourd hui aussi puissant sur un octo-processer IBM RAID6 à 1000000 euro que
pick hier sur 486 avec disque IDE



De la merde oui. L'autre jour le PDG de Hewlett Packard me disait
qu'ils allaient remplacer tous leurs serveurs de bases de données Pick
par un nouveau système révolutionnaire fonctionnant sur HP48 (et
encore, m'a t'il dit, c'est parcequ'oin a perdu les plan de la HP41,
sinon vous pensez bien qu'on ne se serait pas génés)
Avatar
helios
Alain Montfranc a écrit :
helios a couché sur son écran :
Alain Montfranc a écrit :
helios avait prétendu :
Alain Montfranc a écrit :
(supersedes <4dcffc57$0$14669$)

SQLpro quoté la tête à l'envers :


J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris
en tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long
et crad...

merci





Utilisez AT TIME ZONE...

Exemple :

CREATE TABLE tz
(
id integer,
t timestamp with time zone
);

INSERT INTO tz VALUES (1, '2004-10-19 10:23:54+02');

SELECT *, T AT TIME ZONE 'GMT'
FROM TZ




Non, ca ne marche pas, d'abord parce que c'est le contraire que je
dois faire (je reçois des dates GMT et je veux les afficher en
localtime) et ensuite car je ne sais pas si le local time est en
MET ou METDST. La commande "date" d'Unix le fait,
par exemple :

$ date --date '12/12/2000 11:10:00 GMT'
Tue Dec 12 12:10:00 2000

$ date --date '6/6/2000 11:10:00 GMT'
Tue Jun 6 13:10:00 2000

La commande connait les règles de changement DTS/pas DST

A priori dans votre exemple vous précisez explicitement +2, ce que
je ne souhaite pas.

Merci tout de même

AM

PS: <troll on>C est sans doute plus facile avec openqq</troll>




ça ne marche pas????? Etonant la réponse vient pourtant d'un
"expert en date" voir les expertises en date du Sir : style la
codification des dates dans les SGBD

NB oui c'est plus facile avec un system pick car c'est une simple
conversion a metre dans l'attribut 7 de l'item et c'est tout ces
petites facilités et la puissance plus importante qui fond que les
temps de develloppement et d'execution sont réduit dans un systeme
pick et qui sont la raison que j'ai definitivement abandonné SQL en
1992



Ta gueule gros con




faute d'arguments les insultes , a la linux expo (semaine passée)
chez oracle ils etaient plus honnete ils avouaient etre depassé par
les performances des system pick
et disaient que les pietres performance d'oracle s'etait amelioré
depuis 1992 car les machines sont plus puissantes mais confirmaient
que oracle est aujourd hui aussi puissant sur un octo-processer IBM
RAID6 à 1000000 euro que pick hier sur 486 avec disque IDE



De la merde oui. L'autre jour le PDG de Hewlett Packard me disait
qu'ils allaient remplacer tous leurs serveurs de bases de données Pick
par un nouveau système révolutionnaire fonctionnant sur HP48 (et
encore, m'a t'il dit, c'est parcequ'oin a perdu les plan de la HP41,
sinon vous pensez bien qu'on ne se serait pas génés)




cela continue faute d'arguments les insultes mais cela est normal "le
singe qui ne peut avoir un fruit le dit trop vert"
Avatar
SQLpro
Le 14/05/2011 12:37, Alain Montfranc a écrit :
Bonjour

J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et crad...

merci




Poste le DDL de ta table STP.

A +

--
Frédéric BROUARD - expert SGBDR et SQL - MVP SQL Server - 06 11 86 40 66
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Enseignant Arts & Métiers PACA, ISEN Toulon et CESI/EXIA Aix en Provence
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Avatar
SQLpro
Le 14/05/2011 12:37, Alain Montfranc a écrit :
Bonjour

J'ai une table avec des données enregistrées au format GMT. Est il
possible de les convertir en SQL au format heure locale (Paris en tenant
compte du DST) ?

Pour le moment je fait ca avec la commande date mais c'est long et crad...

merci




Et si tu veut éviter les troll de certains, poste sur developpez.com
forum PostGreSQL SQL :
http://www.developpez.net/forums/f1167/bases-donnees/postgresql/debuter/
ou sur celui de la communauté PG :
http://forums.postgresql.fr/viewforum.php?id=6

A +

--
Frédéric BROUARD - expert SGBDR et SQL - MVP SQL Server - 06 11 86 40 66
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Enseignant Arts & Métiers PACA, ISEN Toulon et CESI/EXIA Aix en Provence
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
1 2