Interval Format
Hi everyone... im looking for some help with the interval format between two
diferents versions of postgres....
I have instaled in my old server postgres 8.0.3 and in my new one postgres
8.3.5...
Everything in both looks works nice but i notice a little difference that is
taking my crazy..
I have som SQL that in 8.0.3 do:
# SELECT '32 hours'::INTERVAL;
interval
-----------------
@ 1 day 8 hours
(1 row)
And in 8.3.5 do:
seg_veh2=# SELECT '@ 32 hours'::INTERVAL;
interval
------------
@ 32 hours
(1 row)
Why i unable to get my old style of interval, i really need to see the day
part.... im using datestyle german in both.... im try with "SET
IntervalStyle TO..." but i get this error:
ERROR: unrecognized configuration parameter "intervalstyle"
looking throw the forums i get that this new param its just for postgres
8.4...
So.. how can i recover my "days" part...
Any help it appreciate... thanks :D
Alan Jairo Acosta
--
Farewell.
http://www.youtube.com/zagatogekko
ruby << __EOF__
puts [ 111, 116, 97, 103, 97, 90 ].collect{|v| v.chr}.join.reverse
__EOF__
Hi everyone... im looking for some help with the interval format between two
diferents versions of postgres....
I have instaled in my old server postgres 8.0.3 and in my new one postgres
8.3.5...
Everything in both looks works nice but i notice a little difference that is
taking my crazy..
I have som SQL that in 8.0.3 do:
# SELECT '32 hours'::INTERVAL;
interval
-----------------
@ 1 day 8 hours
(1 row)
And in 8.3.5 do:
seg_veh2=# SELECT '@ 32 hours'::INTERVAL;
interval
------------
@ 32 hours
(1 row)
Why i unable to get my old style of interval, i really need to see the day
part.... im using datestyle german in both.... im try with "SET
IntervalStyle TO..." but i get this error:
ERROR: unrecognized configuration parameter "intervalstyle"
looking throw the forums i get that this new param its just for postgres
8.4...
So.. how can i recover my "days" part...
Any help it appreciate... thanks :D
Alan Jairo Acosta
Zagato wrote:
I have som SQL that in 8.0.3 do:
# SELECT '32 hours'::INTERVAL;
interval
-----------------
@ 1 day 8 hoursAnd in 8.3.5 do:
seg_veh2=# SELECT '@ 32 hours'::INTERVAL;
interval
------------
@ 32 hoursWhy i unable to get my old style of interval, i really need to see the
day part.... im using datestyle german in both.... im try with "SET
IntervalStyle TO..." but i get this error:
Even IntervalStyle won't help you here; since recent releases consider
the values "1 day 8 hours" as distinct from "32 hours" (because
they are at certain times of the year in some timezones
where days are 25 hours, etc).
So.. how can i recover my "days" part...
If you tell it what time of year you are thinking of this trick can work:
dish=# set datestyle to german;
SET
dish=# select '2001-01-01'::timestamp + (interval '32 hours') - '2001-01-01'::timestamp;
?column?
-----------------
@ 1 day 8 hours
(1 row)
Show quoted text
Any help it appreciate... thanks :D
Hi.. thanks for the answer.... well this work in the test sql, but this
needs to rewrite all the SQL in my PHP application :-p Jejej... can i set a
deatul time year in postgres.conf or with a single SET ... ?
Thanks..
Alan Acosta
On Fri, Nov 21, 2008 at 8:56 PM, Ron Mayer <rm_pg@cheapcomplexdevices.com>wrote:
Show quoted text
Zagato wrote:
I have som SQL that in 8.0.3 do:
# SELECT '32 hours'::INTERVAL;
interval
-----------------
@ 1 day 8 hoursAnd in 8.3.5 do:
seg_veh2=# SELECT '@ 32 hours'::INTERVAL;
interval
------------
@ 32 hoursWhy i unable to get my old style of interval, i really need to see the day
part.... im using datestyle german in both.... im try with "SET
IntervalStyle TO..." but i get this error:Even IntervalStyle won't help you here; since recent releases consider
the values "1 day 8 hours" as distinct from "32 hours" (because
they are at certain times of the year in some timezones
where days are 25 hours, etc).So.. how can i recover my "days" part...
If you tell it what time of year you are thinking of this trick can work:
dish=# set datestyle to german;
SET
dish=# select '2001-01-01'::timestamp + (interval '32 hours') -
'2001-01-01'::timestamp;
?column?
-----------------
@ 1 day 8 hours
(1 row)Any help it appreciate... thanks :D
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
Zagato a �crit :
Hi everyone... im looking for some help with the interval format
between two diferents versions of postgres....
I have instaled in my old server postgres 8.0.3 and in my new one
postgres 8.3.5. <http://8.3.5./>..
Everything in both looks works nice but i notice a little difference
that is taking my crazy..
I have som SQL that in 8.0.3 do:
# SELECT '32 hours'::INTERVAL;
interval
-----------------
@ 1 day 8 hours
(1 row)And in 8.3.5 do:
seg_veh2=# SELECT '@ 32 hours'::INTERVAL;
interval
------------
@ 32 hours
(1 row)
If you really want your interval in normalized form (like days , hours
parts...)
with versions from 8.1 and newers, you must use the justify_* function :
|SELECT justify_hours('@ 32 hours'::INTERVAL);
will give you :
justify_hours
- ----------------
1 day 08:00:00
and
SELECT justify_days('45 days @ 32 hours'::INTERVAL);
give
justify_days
- ------------------------
1 mon 15 days 32:00:00
or global function
||SELECT justify_interval('45 days @ 32 hours'::INTERVAL);
will give
justify_interval
- ------------------------
1 mon 16 days 08:00:00
|
Why i unable to get my old style of interval, i really need to see
the day part.... im using datestyle german in both.... im try with
"SET IntervalStyle TO..." but i get this error:
ERROR: unrecognized configuration parameter "intervalstyle"
looking throw the forums i get that this new param its just for
postgres 8.4...
So.. how can i recover my "days" part...Any help it appreciate... thanks :D
Hope it can helps !
Alan Jairo Acosta
Regards, Fran�ois Figarola.
- --
- ----------------------------
L'�ducation, c'est un peu comme une maladie sexuellement transmissible.
Ca rend inapte � des tas de besognes, puis �a d�mange d'en faire
profiter les autres.
Terry Pratchett in "Le p�re Porcher" (coll. Les Annales du Disque-Monde).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkknnGMACgkQXRu8MjnlzXks1wCaA+RIqhPk5BuGJeJ/jTn24Sg1
OPcAn39TO8vBYRuWcBuyysPl6+L0cD4L
=3Ww3
-----END PGP SIGNATURE-----
Douh..... !!! Jejej... well i think that if not possible to use a some kind
of default_justify_inteval, then i will try to update my SQLs...
Thanks :D
Alan Jairo Acosta
On Sat, Nov 22, 2008 at 12:45 AM, Francois Figarola <
francois.figarola@laposte.net> wrote:
Show quoted text
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1Hello,
Zagato a écrit :
Hi everyone... im looking for some help with the interval format
between two diferents versions of postgres....
I have instaled in my old server postgres 8.0.3 and in my new one
postgres 8.3.5. <http://8.3.5./>..
Everything in both looks works nice but i notice a little difference
that is taking my crazy..
I have som SQL that in 8.0.3 do:
# SELECT '32 hours'::INTERVAL;
interval
-----------------
@ 1 day 8 hours
(1 row)And in 8.3.5 do:
seg_veh2=# SELECT '@ 32 hours'::INTERVAL;
interval
------------
@ 32 hours
(1 row)If you really want your interval in normalized form (like days , hours
parts...)
with versions from 8.1 and newers, you must use the justify_* function :|SELECT justify_hours('@ 32 hours'::INTERVAL);
will give you :
justify_hours
- ----------------
1 day 08:00:00and
SELECT justify_days('45 days @ 32 hours'::INTERVAL);
give
justify_days
- ------------------------
1 mon 15 days 32:00:00or global function
||SELECT justify_interval('45 days @ 32 hours'::INTERVAL);
will give
justify_interval
- ------------------------
1 mon 16 days 08:00:00|
Why i unable to get my old style of interval, i really need to see
the day part.... im using datestyle german in both.... im try with
"SET IntervalStyle TO..." but i get this error:
ERROR: unrecognized configuration parameter "intervalstyle"
looking throw the forums i get that this new param its just for
postgres 8.4...
So.. how can i recover my "days" part...Any help it appreciate... thanks :D
Hope it can helps !
Alan Jairo Acosta
Regards, François Figarola.
- --
- ----------------------------L'éducation, c'est un peu comme une maladie sexuellement transmissible.
Ca rend inapte à des tas de besognes, puis ça démange d'en faire
profiter les autres.
Terry Pratchett in "Le père Porcher" (coll. Les Annales du Disque-Monde).-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.orgiEYEARECAAYFAkknnGMACgkQXRu8MjnlzXks1wCaA+RIqhPk5BuGJeJ/jTn24Sg1
OPcAn39TO8vBYRuWcBuyysPl6+L0cD4L
=3Ww3
-----END PGP SIGNATURE-----