Обсуждение: Interval Format

Поиск
Список
Период
Сортировка

Interval Format

От
Zagato
Дата:
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

Re: Interval Format

От
Francois Figarola
Дата:
-----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-----


Re: Interval Format

От
Zagato
Дата:
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:
-----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-----