Thread: age() function usage
Hi all. I am trying to determine the way to pass a variable/field value to an age() function, query looks something like:<br/><br />SELECT age(timestamp data_zakonczenia_fakt) FROM kip_pracownicy_umowy WHERE id_pracownika = 8<br /><br />data_zakonczenia_faktbeing char column equal to say '1993-11-30'.<br />Such approach won't work, can anyone tell me theway to do it?<br /><br />SELECT age(timestamp '1993-11-30') works great.<br />Same story with age(timestamp '2008-01-01', timestamp '1993-11-30').<br /><br />Thanks in advance<br />mk<br />
On Jan 25, 2008 1:06 PM, Marcin Krawczyk <jankes.mk@gmail.com> wrote: > Hi all. I am trying to determine the way to pass a variable/field value to > an age() function, query looks something like: > > SELECT age(timestamp data_zakonczenia_fakt) FROM kip_pracownicy_umowy WHERE > id_pracownika = 8 > > data_zakonczenia_fakt being char column equal to say '1993-11-30'. > Such approach won't work, can anyone tell me the way to do it? > > SELECT age(timestamp '1993-11-30') works great. > Same story with age(timestamp '2008-01-01', timestamp '1993-11-30'). You need an explicit cast: SELECT age(data_zakonczenia_fakt::timestamp) FROM kip_pracownicy_umowy WHERE id_pracownika = 8
Heh, that was easy, I must have been working for too long... :) Thanks
2008/1/25, Scott Marlowe <scott.marlowe@gmail.com>:
On Jan 25, 2008 1:06 PM, Marcin Krawczyk <jankes.mk@gmail.com> wrote:
> Hi all. I am trying to determine the way to pass a variable/field value to
> an age() function, query looks something like:
>
> SELECT age(timestamp data_zakonczenia_fakt) FROM kip_pracownicy_umowy WHERE
> id_pracownika = 8
>
> data_zakonczenia_fakt being char column equal to say '1993-11-30'.
> Such approach won't work, can anyone tell me the way to do it?
>
> SELECT age(timestamp '1993-11-30') works great.
> Same story with age(timestamp '2008-01-01', timestamp '1993-11-30').
You need an explicit cast:
SELECT age(data_zakonczenia_fakt::timestamp) FROM kip_pracownicy_umowy
WHERE id_pracownika = 8